| //@ build-pass | |
| #![feature(adt_const_params)] | |
| #![allow(incomplete_features)] | |
| use std::marker::ConstParamTy; | |
| #[derive(PartialEq, Eq, ConstParamTy)] | |
| pub struct UnitDims { | |
| pub time: u8, | |
| pub length: u8, | |
| } | |
| pub struct UnitValue<const DIMS: UnitDims>; | |
| impl<const DIMS: UnitDims> UnitValue<DIMS> { | |
| fn crash() {} | |
| } | |
| fn main() { | |
| UnitValue::<{ UnitDims { time: 1, length: 2 } }>::crash(); | |
| } |