-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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 7 pull requests #95572
Rollup of 7 pull requests #95572
Commits on Mar 31, 2022
-
Configuration menu - View commit details
-
Copy full SHA for 5d30180 - Browse repository at this point
Copy the full SHA 5d30180View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4246916 - Browse repository at this point
Copy the full SHA 4246916View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3c8e7b9 - Browse repository at this point
Copy the full SHA 3c8e7b9View commit details -
Configuration menu - View commit details
-
Copy full SHA for 971ecff - Browse repository at this point
Copy the full SHA 971ecffView commit details -
Configuration menu - View commit details
-
Copy full SHA for b657cb5 - Browse repository at this point
Copy the full SHA b657cb5View commit details
Commits on Apr 1, 2022
-
Implement provenance preserving method on NonNull
**Description** Add the `addr`, `with_addr, `map_addr` methods to the `NonNull` type, and map the address type to `NonZeroUsize`. **Motiviation** The `NonNull` type is useful for implementing pointer types which have the 0-niche. It is currently possible to implement these provenance preserving functions by calling `NonNull::as_ptr` and `new_unchecked`. The addition of these methods simply make it more ergonomic to use. **Testing** Added a unit test of a nonnull tagged pointer type. This is based on some real code I have elsewhere, that currently routes the pointer through a `NonZeroUsize` and back out to produce a usable pointer.
Configuration menu - View commit details
-
Copy full SHA for 2a82763 - Browse repository at this point
Copy the full SHA 2a82763View commit details -
Configuration menu - View commit details
-
Copy full SHA for 1f232b8 - Browse repository at this point
Copy the full SHA 1f232b8View commit details -
Configuration menu - View commit details
-
Copy full SHA for 18fae7b - Browse repository at this point
Copy the full SHA 18fae7bView commit details -
Configuration menu - View commit details
-
Copy full SHA for c2b5a7e - Browse repository at this point
Copy the full SHA c2b5a7eView commit details -
Configuration menu - View commit details
-
Copy full SHA for 389c83b - Browse repository at this point
Copy the full SHA 389c83bView commit details -
Configuration menu - View commit details
-
Copy full SHA for af24588 - Browse repository at this point
Copy the full SHA af24588View commit details -
Configuration menu - View commit details
-
Copy full SHA for d3fe28b - Browse repository at this point
Copy the full SHA d3fe28bView commit details -
Configuration menu - View commit details
-
Copy full SHA for f793b69 - Browse repository at this point
Copy the full SHA f793b69View commit details -
Rollup merge of rust-lang#94911 - jackh726:gats_extended_2, r=compile…
…r-errors Make GATs object safe under generic_associated_types_extended feature Based on rust-lang#94869 Let's say we have ```rust trait StreamingIterator { type Item<'a> where Self: 'a; } ``` And `dyn for<'a> StreamingIterator<Item<'a> = &'a i32>`. If we ask `(dyn for<'a> StreamingIterator<Item<'a> = &'a i32>): StreamingIterator`, then we have to prove that `for<'x> (&'x i32): Sized`. So, we generate *new* bound vars to subst for the GAT generics. Importantly, this doesn't fully verify that these are usable and sound. r? `@nikomatsakis`
Configuration menu - View commit details
-
Copy full SHA for bd70a56 - Browse repository at this point
Copy the full SHA bd70a56View commit details -
Rollup merge of rust-lang#95354 - dtolnay:rustc_const_stable, r=lcnr
Handle rustc_const_stable attribute in library feature collector The library feature collector in [compiler/rustc_passes/src/lib_features.rs](https://github.com/rust-lang/rust/blob/551b4fa395fa588d91cbecfb0cdfe1baa02670cf/compiler/rustc_passes/src/lib_features.rs) has only been looking at `#[stable(…)]`, `#[unstable(…)]`, and `#[rustc_const_unstable(…)]` attributes, while ignoring `#[rustc_const_stable(…)]`. The consequences of this were: - When any const feature got stabilized (changing one or more `rustc_const_unstable` to `rustc_const_stable`), users who had previously enabled that unstable feature using `#![feature(…)]` would get told "unknown feature", rather than rustc's nicer "the feature … has been stable since … and no longer requires an attribute to enable". This can be seen in the way that rust-lang#93957 (comment) failed after rebase: ```console error[E0635]: unknown feature `const_ptr_offset` --> $DIR/offset_from_ub.rs:1:35 | LL | #![feature(const_ptr_offset_from, const_ptr_offset)] | ^^^^^^^^^^^^^^^^ ``` - We weren't enforcing that a particular feature is either stable everywhere or unstable everywhere, and that a feature that has been stabilized has the same stabilization version everywhere, both of which we enforce for the other stability attributes. This PR updates the library feature collector to handle `rustc_const_stable`, and fixes places in the standard library and test suite where `rustc_const_stable` was being used in a way that does not meet the rules for a stability attribute.
Configuration menu - View commit details
-
Copy full SHA for 41a7251 - Browse repository at this point
Copy the full SHA 41a7251View commit details -
Rollup merge of rust-lang#95373 - RalfJung:invalid_value, r=davidtwco
invalid_value lint: detect invalid initialization of arrays
Configuration menu - View commit details
-
Copy full SHA for 67f9ce4 - Browse repository at this point
Copy the full SHA 67f9ce4View commit details -
Rollup merge of rust-lang#95544 - jam1garner:improve-naked-noreturn-d…
…iagnostic, r=tmiasko Add error message suggestion for missing noreturn in naked function I had to google the syntax for inline asm's `noreturn` option when I got this error earlier today, so I figured I'd save others the trouble and add the syntax/fix as a suggestion in the error.
Configuration menu - View commit details
-
Copy full SHA for 116f8bd - Browse repository at this point
Copy the full SHA 116f8bdView commit details -
Rollup merge of rust-lang#95556 - declanvk:nonnull-provenance, r=dtolnay
Implement provenance preserving methods on NonNull ### Description Add the `addr`, `with_addr`, `map_addr` methods to the `NonNull` type, and map the address type to `NonZeroUsize`. ### Motivation The `NonNull` type is useful for implementing pointer types which have the 0-niche. It is currently possible to implement these provenance preserving functions by calling `NonNull::as_ptr` and `new_unchecked`. The adding these methods makes it more ergonomic. ### Testing Added a unit test of a non-null tagged pointer type. This is based on some real code I have elsewhere, that currently routes the pointer through a `NonZeroUsize` and back out to produce a usable pointer. I wanted to produce an ideal version of the same tagged pointer struct that preserved pointer provenance. ### Related Extension of APIs proposed in rust-lang#95228 . I can also split this out into a separate tracking issue if that is better (though I may need some pointers on how to do that).
Configuration menu - View commit details
-
Copy full SHA for 388bff8 - Browse repository at this point
Copy the full SHA 388bff8View commit details -
Rollup merge of rust-lang#95557 - niluxv:issue-95533, r=dtolnay
Fix `thread_local!` macro to be compatible with `no_implicit_prelude` Fixes issue rust-lang#95533.
Configuration menu - View commit details
-
Copy full SHA for ebd42a8 - Browse repository at this point
Copy the full SHA ebd42a8View commit details -
Rollup merge of rust-lang#95559 - lcnr:inferctxt-typeck, r=oli-obk
small type system refactoring
Configuration menu - View commit details
-
Copy full SHA for b0cc70b - Browse repository at this point
Copy the full SHA b0cc70bView commit details