fix feature error, test fallout
This commit is contained in:
parent
df611a62bb
commit
76a2f9f454
|
@ -229,17 +229,9 @@ impl<'a, 'gcx: 'a + 'tcx, 'tcx: 'a> StaticRscope<'a, 'gcx, 'tcx> {
|
|||
|
||||
impl<'a, 'gcx: 'a + 'tcx, 'tcx: 'a> RegionScope for StaticRscope<'a, 'gcx, 'tcx> {
|
||||
fn anon_regions(&self,
|
||||
_span: Span,
|
||||
span: Span,
|
||||
count: usize)
|
||||
-> Result<Vec<ty::Region>, Option<Vec<ElisionFailureInfo>>> {
|
||||
Ok(vec![ty::ReStatic; count])
|
||||
}
|
||||
|
||||
fn object_lifetime_default(&self, span: Span) -> Option<ty::Region> {
|
||||
Some(self.base_object_lifetime_default(span))
|
||||
}
|
||||
|
||||
fn base_object_lifetime_default(&self, span: Span) -> ty::Region {
|
||||
if !self.tcx.sess.features.borrow().static_in_const {
|
||||
self.tcx
|
||||
.sess
|
||||
|
@ -248,6 +240,14 @@ impl<'a, 'gcx: 'a + 'tcx, 'tcx: 'a> RegionScope for StaticRscope<'a, 'gcx, 'tcx>
|
|||
`static_in_const` feature, see #35897")
|
||||
.emit();
|
||||
}
|
||||
Ok(vec![ty::ReStatic; count])
|
||||
}
|
||||
|
||||
fn object_lifetime_default(&self, span: Span) -> Option<ty::Region> {
|
||||
Some(self.base_object_lifetime_default(span))
|
||||
}
|
||||
|
||||
fn base_object_lifetime_default(&self, _span: Span) -> ty::Region {
|
||||
ty::ReStatic
|
||||
}
|
||||
}
|
||||
|
|
|
@ -15,7 +15,6 @@ const CONST_0: Debug+Sync = *(&0 as &(Debug+Sync));
|
|||
//~| NOTE `std::fmt::Debug + Sync + 'static: std::marker::Sized` not satisfied
|
||||
//~| NOTE does not have a constant size known at compile-time
|
||||
//~| NOTE constant expressions must have a statically known size
|
||||
//~| ERROR this needs a `'static` lifetime or the `static_in_const` feature
|
||||
|
||||
const CONST_FOO: str = *"foo";
|
||||
//~^ ERROR `str: std::marker::Sized` is not satisfied
|
||||
|
@ -28,7 +27,6 @@ static STATIC_1: Debug+Sync = *(&1 as &(Debug+Sync));
|
|||
//~| NOTE `std::fmt::Debug + Sync + 'static: std::marker::Sized` not satisfied
|
||||
//~| NOTE does not have a constant size known at compile-time
|
||||
//~| NOTE constant expressions must have a statically known size
|
||||
//~| ERROR this needs a `'static` lifetime or the `static_in_const` feature
|
||||
|
||||
static STATIC_BAR: str = *"bar";
|
||||
//~^ ERROR `str: std::marker::Sized` is not satisfied
|
||||
|
|
|
@ -12,7 +12,6 @@ fn main() {
|
|||
static foo: Fn() -> u32 = || -> u32 {
|
||||
//~^ ERROR: mismatched types
|
||||
//~| ERROR: `std::ops::Fn() -> u32 + 'static: std::marker::Sized` is not satisfied
|
||||
//~| ERROR: this needs a `'static` lifetime or the `static_in_const` feature
|
||||
0
|
||||
};
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue