-
Notifications
You must be signed in to change notification settings - Fork 10
Add inner for NbtLists #10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
AronParker
wants to merge
1
commit into
Rusty-Quartz:master
Choose a base branch
from
AronParker:nbtlist_inner
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for the swift response! That's true, I chose
&Vec<T>
just to be consistent but when thinking about it of course a slice makes much more sense. That deref flew right over my head, I was consulting on how to access the Vec and the documentation states thatinner
,inner_mut
andinto_inner
are available for bothNbtList
andNbtCompound
, but I hadn't realized that the inner ofNbtList
is actually done via a deref. That being said I think aninner
wouldn't hurt for consistency and discoverability.However, given that deref already provides the functionality of a slice, I do see one single use case where a slice wouldn't suffice (although I do admit it is very obscure). And that is when you have a
&NbtList
and you want to assert that no memory is allocated or that no panic is possible, you would have the option to checkVec::capacity()
to see if it would fit before adding it. I do admit it is very obscure. Although one could also addcapacity
as a member for NbtList to resolve that problem. But I also believe from a consistency point of view having it return the same as the others makes sense.That being said I really love this library, I think you guys nailed the design and how well and flexible goes together, I'm really fond of using it and love to see it being well maintained. I'd like to hear some comments on this and then will adjust my PR accordingly. Thanks for taking the time!