]> git.lizzy.rs Git - rust.git/blob - src/test/ui/consts/assoc_const_generic_impl.rs
Rollup merge of #72279 - RalfJung:raw-ref-macros, r=nikomatsakis
[rust.git] / src / test / ui / consts / assoc_const_generic_impl.rs
1 // build-fail
2
3 #![warn(const_err)]
4
5 trait ZeroSized: Sized {
6     const I_AM_ZERO_SIZED: ();
7     fn requires_zero_size(self);
8 }
9
10 impl<T: Sized> ZeroSized for T {
11     const I_AM_ZERO_SIZED: ()  = [()][std::mem::size_of::<Self>()]; //~ WARN any use of this value
12     fn requires_zero_size(self) {
13         let () = Self::I_AM_ZERO_SIZED; //~ ERROR erroneous constant encountered
14         println!("requires_zero_size called");
15     }
16 }
17
18 fn main() {
19     ().requires_zero_size();
20     42_u32.requires_zero_size();
21 }