Add a FIXME note about what's missing
This commit is contained in:
parent
ff055e2135
commit
4060ed7eff
1 changed files with 34 additions and 0 deletions
34
src/test/ui/inline-const/const-match-pat-lifetime-err.rs
Normal file
34
src/test/ui/inline-const/const-match-pat-lifetime-err.rs
Normal file
|
|
@ -0,0 +1,34 @@
|
|||
// ignore-test
|
||||
|
||||
#![allow(incomplete_features)]
|
||||
#![feature(const_mut_refs)]
|
||||
#![feature(inline_const)]
|
||||
|
||||
use std::marker::PhantomData;
|
||||
|
||||
#[derive(PartialEq, Eq)]
|
||||
pub struct InvariantRef<'a, T: ?Sized>(&'a T, PhantomData<&'a mut &'a T>);
|
||||
|
||||
impl<'a, T: ?Sized> InvariantRef<'a, T> {
|
||||
pub const fn new(r: &'a T) -> Self {
|
||||
InvariantRef(r, PhantomData)
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a> InvariantRef<'a, ()> {
|
||||
pub const NEW: Self = InvariantRef::new(&());
|
||||
}
|
||||
|
||||
fn match_invariant_ref<'a>() {
|
||||
let y = ();
|
||||
match InvariantRef::new(&y) {
|
||||
//~^ ERROR `y` does not live long enough [E0597]
|
||||
// FIXME(nbdd0121): This should give the same error as `InvariantRef::<'a>::NEW` (without
|
||||
// const block)
|
||||
const { InvariantRef::<'a>::NEW } => (),
|
||||
}
|
||||
}
|
||||
|
||||
fn main() {
|
||||
match_invariant_ref();
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue