-
Notifications
You must be signed in to change notification settings - Fork 12.8k
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
Rollup of 6 pull requests #69182
Rollup of 6 pull requests #69182
Commits on Feb 4, 2020
-
Added From<Vec<NonZeroU8>> for CString
Updated tracking issue number Added safeguards for transmute_vec potentially being factored out elsewhere Clarified comment about avoiding mem::forget Removed unneeded unstable guard Added back a stability annotation for CI Minor documentation improvements Thanks to @Centril's code review Co-Authored-By: Mazdak Farrokhzad <[email protected]> Improved layout checks, type annotations and removed unaccurate comment Removed unnecessary check on array layout Adapt the stability annotation to the new 1.41 milestone Co-Authored-By: Mazdak Farrokhzad <[email protected]> Simplify the implementation. Use `Vec::into_raw_parts` instead of a manual implementation of `Vec::transmute`. If `Vec::into_raw_parts` uses `NonNull` instead, then the code here will need to be adjusted to take it into account (issue rust-lang#65816) Reduce the whitespace of safety comments
Configuration menu - View commit details
-
Copy full SHA for 60274a9 - Browse repository at this point
Copy the full SHA 60274a9View commit details
Commits on Feb 12, 2020
-
Fix std::fs::copy on WASI target
Previously `std::fs::copy` on wasm32-wasi would reuse code from the `sys_common` module and would successfully copy contents of the file just to fail right before closing it. This was happening because `sys_common::copy` tries to copy permissions of the file, but permissions are not a thing in WASI (at least yet) and `set_permissions` is implemented as an unconditional runtime error. This change instead adds a custom working implementation of `std::fs::copy` (like Rust already has on some other targets) that doesn't try to call `set_permissions` and is essentially a thin wrapper around `std::io::copy`. Fixes rust-lang#68560.
Configuration menu - View commit details
-
Copy full SHA for 8fb8bb4 - Browse repository at this point
Copy the full SHA 8fb8bb4View commit details
Commits on Feb 14, 2020
-
Configuration menu - View commit details
-
Copy full SHA for be92200 - Browse repository at this point
Copy the full SHA be92200View commit details -
Configuration menu - View commit details
-
Copy full SHA for 47aa2b5 - Browse repository at this point
Copy the full SHA 47aa2b5View commit details
Commits on Feb 15, 2020
-
Configuration menu - View commit details
-
Copy full SHA for a8fe47d - Browse repository at this point
Copy the full SHA a8fe47dView commit details -
Suggest a comma if a struct initializer field fails to parse
Currently, we emit a "try adding a comma" suggestion if a comma is missing in a struct definition. However, we emit no such suggestion if a comma is missing in a struct initializer. This commit adds a "try adding a comma" suggestion when we don't find a comma during the parsing of a struct initializer field. The change to `src/test/ui/parser/removed-syntax-with-1.stderr` isn't great, but I don't see a good way of avoiding it.
Configuration menu - View commit details
-
Copy full SHA for 98757f1 - Browse repository at this point
Copy the full SHA 98757f1View commit details -
Rollup merge of rust-lang#64069 - danielhenrymantilla:feature/cstring…
…_from_vec_of_nonzerou8, r=KodrAus Added From<Vec<NonZeroU8>> for CString Added a `From<Vec<NonZeroU8>>` `impl` for `CString` # Rationale - `CString::from_vec_unchecked` is a subtle function, that makes `unsafe` code harder to audit when the generated `Vec`'s creation is non-trivial. This `impl` allows to write safer `unsafe` code thanks to the very explicit semantics of the `Vec<NonZeroU8>` type. - One such situation is when trying to `.read()` a `CString`, see issue rust-lang#59229. - this lead to a PR: rust-lang#59314, that was closed for being too specific / narrow (it only targetted being able to `.read()` a `CString`, when this pattern could have been generalized). - the issue suggested another route, based on `From<Vec<NonZeroU8>>`, which is indeed a less general and more concise code pattern. - quoting @Shnatsel: - > For me the main thing about making this safe is simplifying auditing - people have spent like an hour looking at just this one unsafe block in libflate because it's not clear what exactly is unchecked, so you have to look it up when auditing anyway. This has distracted us from much more serious memory safety issues the library had. Having this trivial impl in stdlib would turn this into safe code with compiler more or less guaranteeing that it's fine, and save anyone auditing the code a whole lot of time.
Configuration menu - View commit details
-
Copy full SHA for d28b358 - Browse repository at this point
Copy the full SHA d28b358View commit details -
Rollup merge of rust-lang#66721 - maxbla:exp-format-integers, r=KodrAus
implement LowerExp and UpperExp for integers Addresses rust-lang#39479 This implementation is heavily based on the preexisting `macro_rules! impl_Display` in the same file. I don't like the liberal use of unsafe in that macro and would like to modify it so `unsafe` is only present where necessary. What is Rust's policy on doing such modifications? Also, I couldn't figure out where to put tests, can I have some help with that?
Configuration menu - View commit details
-
Copy full SHA for afea30d - Browse repository at this point
Copy the full SHA afea30dView commit details -
Rollup merge of rust-lang#69106 - RReverser:wasi-fs-copy, r=KodrAus
Fix std::fs::copy on WASI target Previously `std::fs::copy` on wasm32-wasi would reuse code from the `sys_common` module and would successfully copy contents of the file just to fail right before closing it. This was happening because `sys_common::copy` tries to copy permissions of the file, but permissions are not a thing in WASI (at least yet) and `set_permissions` is implemented as an unconditional runtime error. This change instead adds a custom working implementation of `std::fs::copy` (like Rust already has on some other targets) that doesn't try to call `set_permissions` and is essentially a thin wrapper around `std::io::copy`. Fixes rust-lang#68560.
Configuration menu - View commit details
-
Copy full SHA for 728be34 - Browse repository at this point
Copy the full SHA 728be34View commit details -
Rollup merge of rust-lang#69154 - JohnTitor:fix-macro-ices, r=petroch…
…enkov Avoid calling `fn_sig` on closures Fixes rust-lang#68060 r? @petrochenkov
Configuration menu - View commit details
-
Copy full SHA for c115ad9 - Browse repository at this point
Copy the full SHA c115ad9View commit details -
Rollup merge of rust-lang#69166 - JohnTitor:ice-const-enum, r=matthew…
…jasper Check `has_typeck_tables` before calling `typeck_tables_of` Fixes rust-lang#68684 r? @matthewjasper
Configuration menu - View commit details
-
Copy full SHA for 09d6a65 - Browse repository at this point
Copy the full SHA 09d6a65View commit details -
Rollup merge of rust-lang#69180 - Aaron1011:feature/comma-struct-init…
…, r=petrochenkov Suggest a comma if a struct initializer field fails to parse Currently, we emit a "try adding a comma" suggestion if a comma is missing in a struct definition. However, we emit no such suggestion if a comma is missing in a struct initializer. This commit adds a "try adding a comma" suggestion when we don't find a comma during the parsing of a struct initializer field. The change to `src/test/ui/parser/removed-syntax-with-1.stderr` isn't great, but I don't see a good way of avoiding it.
Configuration menu - View commit details
-
Copy full SHA for e9db061 - Browse repository at this point
Copy the full SHA e9db061View commit details