Open
Description
We currently don't correctly handle non-'static
lifetimes in const generics. Until #74051 is merged we ICE when a non-'static
lifetime is hit, as seen in #60814.
Many uses for const generics does not hit this limitation, but the following case has been brought up:
fn test<'a, const VALUE: std::mem::Discriminant<Enum<'a>>(v: Enum<'a>) -> bool {
std::mem::discriminant(&v) == VALUE
}
mem::Discriminant
is invariant soVALUE
has to bemem::Discriminant
ofEnum<'a>
and can't useEnum<'static>
.
Activity