forbid cast as bool + forbid surrogate chars in strings#8980
Closed
thestinger wants to merge 2 commits intorust-lang:masterfrom
thestinger:bool
Closed
forbid cast as bool + forbid surrogate chars in strings#8980thestinger wants to merge 2 commits intorust-lang:masterfrom thestinger:bool
thestinger wants to merge 2 commits intorust-lang:masterfrom
thestinger:bool
Conversation
Contributor
Author
There was a problem hiding this comment.
I'm not really sure if to or as sounds nicer here, but I'm still leaning towards as.
Contributor
There was a problem hiding this comment.
Yup, if someone feels strongly about it, they can come and change it later.
This is currently unsound since `bool` is represented as `i8`. It will become sound when `bool` is stored as `i8` but always used as `i1`. However, the current behaviour will always be identical to `x & 1 != 0`, so there's no need for it. It's also surprising, since `x != 0` is the expected behaviour. Closes #7311
Reject codepoints \uD800 to \uDFFF which are the surrogates (reserved/unused codepoints that are invalid to encode into UTF-8) The surrogates is the only hole of invalid codepoints in the range from \u0 to \u10FFFF.
bors
added a commit
that referenced
this pull request
Sep 5, 2013
This is currently unsound since `bool` is represented as `i8`. It will become sound when `bool` is stored as `i8` but always used as `i1`. However, the current behaviour will always be identical to `x & 1 != 0`, so there's no need for it. It's also surprising, since `x != 0` is the expected behaviour. Closes #7311 d0a1176 r=huonw e4a76e6 r=thestinger
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This is currently unsound since
boolis represented asi8. It willbecome sound when
boolis stored asi8but always used asi1.However, the current behaviour will always be identical to
x & 1 != 0,so there's no need for it. It's also surprising, since
x != 0is theexpected behaviour.
Closes #7311
d0a1176 r=huonw
e4a76e6 r=thestinger