-
Notifications
You must be signed in to change notification settings - Fork 12.7k
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
[beta] Final round of beta backports #44062
Commits on Aug 23, 2017
-
make
for_all_relevant_impls
O(1) againA change in rust-lang#41911 had made `for_all_relevant_impls` do a linear scan over all impls, instead of using an HashMap. Use an HashMap again to avoid quadratic blowup when there is a large number of structs with impls. I think this fixes rust-lang#43141 completely, but I want better measurements in order to be sure. As a perf patch, please don't roll this up.
Configuration menu - View commit details
-
Copy full SHA for b2b8cba - Browse repository at this point
Copy the full SHA b2b8cbaView commit details -
std: Respect formatting flags for str-like OsStr
Historically many `Display` and `Debug` implementations for `OsStr`-like abstractions have gone through `String::from_utf8_lossy`, but this was updated in rust-lang#42613 to use an internal `Utf8Lossy` abstraction instead. This had the unfortunate side effect of causing a regression (rust-lang#43765) in code which relied on these `fmt` trait implementations respecting the various formatting flags specified. This commit opportunistically adds back interpretation of formatting trait flags in the "common case" where where `OsStr`-like "thing" is all valid utf-8 and can delegate to the formatting implementation for `str`. This doesn't entirely solve the regression as non-utf8 paths will format differently than they did before still (in that they will not respect formatting flags), but this should solve the regression for all "real world" use cases of paths and such. The door's also still open for handling these flags in the future! Closes rust-lang#43765
Configuration menu - View commit details
-
Copy full SHA for f0cd695 - Browse repository at this point
Copy the full SHA f0cd695View commit details -
ast_validation: forbid "nonstandard" literal patterns
Since rust-lang#42886, macros can create "nonstandard" PatKind::Lit patterns, that contain path expressions instead of the usual literal expr. These can cause trouble, including ICEs. We *could* map these nonstandard patterns to PatKind::Path patterns during HIR lowering, but that would be much effort for little gain, and I think is too risky for beta. So let's just forbid them during AST validation. Fixes rust-lang#43250.
Configuration menu - View commit details
-
Copy full SHA for 5bb0cac - Browse repository at this point
Copy the full SHA 5bb0cacView commit details -
Configuration menu - View commit details
-
Copy full SHA for bd20a03 - Browse repository at this point
Copy the full SHA bd20a03View commit details -
fix other cases of registering obligations in a snapshot
No test cases for these ones, but they would all ICE if they ever run with a non-empty set of obligations.
Configuration menu - View commit details
-
Copy full SHA for 4b6a821 - Browse repository at this point
Copy the full SHA 4b6a821View commit details -
std: Mark allocation functions as nounwind
This commit flags all allocation-related functions in liballoc as "this can't unwind" which should largely resolve the size-related issues found on rust-lang#42808. The documentation on the trait was updated with such a restriction (they can't panic) as well as some other words about the relative instability about implementing a bullet-proof allocator. Closes rust-lang#42808
Configuration menu - View commit details
-
Copy full SHA for 76a1144 - Browse repository at this point
Copy the full SHA 76a1144View commit details -
Configuration menu - View commit details
-
Copy full SHA for c5beaac - Browse repository at this point
Copy the full SHA c5beaacView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7c076fc - Browse repository at this point
Copy the full SHA 7c076fcView commit details -
Configuration menu - View commit details
-
Copy full SHA for 0e9969c - Browse repository at this point
Copy the full SHA 0e9969cView commit details