mirror of
https://github.com/rust-lang/rust.git
synced 2024-12-24 14:34:23 +00:00
Add a FIXME note about what's missing
This commit is contained in:
parent
ff055e2135
commit
4060ed7eff
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…
Reference in New Issue
Block a user