| //! Test that we don't ICE when passing the wrong ADT to ASSUME. | |
| #![feature(adt_const_params)] | |
| #![feature(transmutability)] | |
| use std::marker::ConstParamTy; | |
| use std::mem::TransmuteFrom; | |
| #[derive(ConstParamTy, PartialEq, Eq)] | |
| struct NotAssume; | |
| fn foo<const ASSUME: NotAssume>() | |
| where | |
| u8: TransmuteFrom<u8, ASSUME>, //~ ERROR the constant `ASSUME` is not of type `Assume` | |
| { | |
| } | |
| fn main() { | |
| foo::<{ NotAssume }>(); | |
| } |