mirror of
https://github.com/rust-lang/rust.git
synced 2025-01-08 13:55:25 +00:00
don't require const stability for const impls
This commit is contained in:
parent
bcfea1f8d2
commit
030ddeecab
@ -590,16 +590,7 @@ impl<'tcx> MissingStabilityAnnotations<'tcx> {
|
||||
}
|
||||
|
||||
fn check_missing_const_stability(&self, def_id: LocalDefId, span: Span) {
|
||||
// if the const impl is derived using the `derive_const` attribute,
|
||||
// then it would be "stable" at least for the impl.
|
||||
// We gate usages of it using `feature(const_trait_impl)` anyways
|
||||
// so there is no unstable leakage
|
||||
if self.tcx.is_automatically_derived(def_id.to_def_id()) {
|
||||
return;
|
||||
}
|
||||
|
||||
let is_const = self.tcx.is_const_fn(def_id.to_def_id())
|
||||
|| self.tcx.is_const_trait_impl(def_id.to_def_id());
|
||||
let is_const = self.tcx.is_const_fn(def_id.to_def_id());
|
||||
|
||||
// Reachable const fn must have a stability attribute.
|
||||
if is_const
|
||||
|
@ -27,7 +27,7 @@ pub trait Bar {
|
||||
}
|
||||
#[stable(feature = "stable", since = "1.0.0")]
|
||||
impl const Bar for Foo {
|
||||
//~^ ERROR implementation has missing const stability attribute
|
||||
// ok because all users must enable `const_trait_impl`
|
||||
fn fun() {}
|
||||
}
|
||||
|
||||
|
@ -4,15 +4,6 @@ error: function has missing const stability attribute
|
||||
LL | pub const fn foo() {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: implementation has missing const stability attribute
|
||||
--> $DIR/missing-const-stability.rs:29:1
|
||||
|
|
||||
LL | / impl const Bar for Foo {
|
||||
LL | |
|
||||
LL | | fn fun() {}
|
||||
LL | | }
|
||||
| |_^
|
||||
|
||||
error: function has missing const stability attribute
|
||||
--> $DIR/missing-const-stability.rs:36:1
|
||||
|
|
||||
@ -25,5 +16,5 @@ error: associated function has missing const stability attribute
|
||||
LL | pub const fn foo() {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error: aborting due to 4 previous errors
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user