27 lines
568 B
Rust
27 lines
568 B
Rust
|
//@ check-pass
|
||
|
|
||
|
// Regression test for #54378.
|
||
|
|
||
|
#![feature(never_type)]
|
||
|
|
||
|
use std::marker::PhantomData;
|
||
|
|
||
|
pub trait Machine<'a, 'mir, 'tcx>: Sized {
|
||
|
type MemoryKinds: ::std::fmt::Debug + Copy + Eq;
|
||
|
const MUT_STATIC_KIND: Option<Self::MemoryKinds>;
|
||
|
}
|
||
|
|
||
|
pub struct CompileTimeEvaluator<'a, 'mir, 'tcx: 'a+'mir> {
|
||
|
pub _data: PhantomData<(&'a (), &'mir (), &'tcx ())>,
|
||
|
}
|
||
|
|
||
|
impl<'a, 'mir, 'tcx: 'a + 'mir> Machine<'a, 'mir, 'tcx>
|
||
|
for CompileTimeEvaluator<'a, 'mir, 'tcx>
|
||
|
{
|
||
|
type MemoryKinds = !;
|
||
|
|
||
|
const MUT_STATIC_KIND: Option<!> = None;
|
||
|
}
|
||
|
|
||
|
fn main() {}
|