mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-01 03:03:40 +00:00
fix rustc_nonnull_optimization_guaranteed docs
This commit is contained in:
parent
c0838c8ebe
commit
8103505a4d
@ -234,6 +234,7 @@ impl<'tcx, M: Machine<'tcx>> InterpCx<'tcx, M> {
|
|||||||
// so we implement a type-based check that reflects the guaranteed rules for ABI compatibility.
|
// so we implement a type-based check that reflects the guaranteed rules for ABI compatibility.
|
||||||
if self.layout_compat(caller_abi.layout, callee_abi.layout)? {
|
if self.layout_compat(caller_abi.layout, callee_abi.layout)? {
|
||||||
// Ensure that our checks imply actual ABI compatibility for this concrete call.
|
// Ensure that our checks imply actual ABI compatibility for this concrete call.
|
||||||
|
// (This can fail e.g. if `#[rustc_nonnull_optimization_guaranteed]` is used incorrectly.)
|
||||||
assert!(caller_abi.eq_abi(callee_abi));
|
assert!(caller_abi.eq_abi(callee_abi));
|
||||||
Ok(true)
|
Ok(true)
|
||||||
} else {
|
} else {
|
||||||
|
@ -863,8 +863,10 @@ pub const BUILTIN_ATTRIBUTES: &[BuiltinAttribute] = &[
|
|||||||
rustc_attr!(
|
rustc_attr!(
|
||||||
rustc_nonnull_optimization_guaranteed, Normal, template!(Word), WarnFollowing,
|
rustc_nonnull_optimization_guaranteed, Normal, template!(Word), WarnFollowing,
|
||||||
EncodeCrossCrate::Yes,
|
EncodeCrossCrate::Yes,
|
||||||
"the `#[rustc_nonnull_optimization_guaranteed]` attribute is just used to enable \
|
"the `#[rustc_nonnull_optimization_guaranteed]` attribute is just used to document \
|
||||||
niche optimizations in libcore and libstd and will never be stable",
|
guaranteed niche optimizations in libcore and libstd and will never be stable\n\
|
||||||
|
(note that the compiler does not even check whether the type indeed is being non-null-optimized; \
|
||||||
|
it is your responsibility to ensure that the attribute is only used on types that are optimized)",
|
||||||
),
|
),
|
||||||
|
|
||||||
// ==========================================================================
|
// ==========================================================================
|
||||||
|
@ -2,6 +2,6 @@
|
|||||||
|
|
||||||
#[rustc_variance] //~ ERROR the `#[rustc_variance]` attribute is just used for rustc unit tests and will never be stable
|
#[rustc_variance] //~ ERROR the `#[rustc_variance]` attribute is just used for rustc unit tests and will never be stable
|
||||||
#[rustc_error] //~ ERROR the `#[rustc_error]` attribute is just used for rustc unit tests and will never be stable
|
#[rustc_error] //~ ERROR the `#[rustc_error]` attribute is just used for rustc unit tests and will never be stable
|
||||||
#[rustc_nonnull_optimization_guaranteed] //~ ERROR the `#[rustc_nonnull_optimization_guaranteed]` attribute is just used to enable niche optimizations in libcore and libstd and will never be stable
|
#[rustc_nonnull_optimization_guaranteed] //~ ERROR the `#[rustc_nonnull_optimization_guaranteed]` attribute is just used to document guaranteed niche optimizations in libcore and libstd and will never be stable
|
||||||
|
|
||||||
fn main() {}
|
fn main() {}
|
||||||
|
@ -16,7 +16,8 @@ LL | #[rustc_error]
|
|||||||
= help: add `#![feature(rustc_attrs)]` to the crate attributes to enable
|
= help: add `#![feature(rustc_attrs)]` to the crate attributes to enable
|
||||||
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
= note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
|
||||||
|
|
||||||
error[E0658]: the `#[rustc_nonnull_optimization_guaranteed]` attribute is just used to enable niche optimizations in libcore and libstd and will never be stable
|
error[E0658]: the `#[rustc_nonnull_optimization_guaranteed]` attribute is just used to document guaranteed niche optimizations in libcore and libstd and will never be stable
|
||||||
|
(note that the compiler does not even check whether the type indeed is being non-null-optimized; it is your responsibility to ensure that the attribute is only used on types that are optimized)
|
||||||
--> $DIR/feature-gate-rustc-attrs-1.rs:5:1
|
--> $DIR/feature-gate-rustc-attrs-1.rs:5:1
|
||||||
|
|
|
|
||||||
LL | #[rustc_nonnull_optimization_guaranteed]
|
LL | #[rustc_nonnull_optimization_guaranteed]
|
||||||
|
Loading…
Reference in New Issue
Block a user