Skip to content

fix MutableLinkedList when appending empty list#915

Open
foraspell wants to merge 1 commit intoJuliaCollections:masterfrom
foraspell:fix-append-empty
Open

fix MutableLinkedList when appending empty list#915
foraspell wants to merge 1 commit intoJuliaCollections:masterfrom
foraspell:fix-append-empty

Conversation

@foraspell
Copy link

Currently append!(MutableLinkedList{Int}(1), MutableLinkedList{Int}()) results in an infinite iteration. This is due to the order of sentinel-node reassignments and the second list being empty. One way to fix that is by using something like isempty(l2) && return l1 at the top of the append! method. Another (proposed in this PR) is to just reorder the reassignments. The former is more straightforward, the latter adds no new code.

@foraspell
Copy link
Author

foraspell commented Oct 15, 2024

@oxinabox I apologize for tagging you directly: I'm new to contributing, so I'm not sure if that's OK. The changes here are minimal, yet having an infinite iteration every time I try to append an empty list is troublesome. I resort to using my own local version of the package in the meantime. Would you mind reviewing the PR? I'm not sure which of the two options (if any) is better. Thank you.

@oxinabox
Copy link
Member

tagging me is fine.
I am very busy right now.
I will try and find time for this next week.
If another maintainer doesn't come along and look first.

In general I hate the linked list code and want to just delete all of it.
In almost no real world senario is a linked list the right datastructure to use

@fingolfin
Copy link
Member

@yohmercy could you perhaps add a test that demonstrates the bug fix works (i.e. something that fails now and works correctly with your patch)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants