//@ 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; } 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() {}