// check-pass #![warn(const_evaluatable_unchecked)] const fn foo() -> usize { if std::mem::size_of::<*mut T>() < 8 { // size of *mut T does not depend on T std::mem::size_of::() } else { 8 } } fn test() { let _ = [0; foo::()]; //~^ WARN cannot use constants which depend on generic parameters in types //~| WARN this was previously accepted by the compiler but is being phased out } fn main() {}