]>
Commit | Line | Data |
---|---|---|
62682a34 SL |
1 | // Test that we can't call random fns in a const fn or do other bad things. |
2 | ||
62682a34 SL |
3 | use std::mem::transmute; |
4 | ||
94222f64 XL |
5 | fn random() -> u32 { |
6 | 0 | |
7 | } | |
62682a34 SL |
8 | |
9 | const fn sub(x: &u32) -> usize { | |
b7449926 | 10 | unsafe { transmute(x) } |
62682a34 SL |
11 | } |
12 | ||
13 | const fn sub1() -> u32 { | |
14 | random() //~ ERROR E0015 | |
15 | } | |
16 | ||
17 | static Y: u32 = 0; | |
18 | ||
19 | const fn get_Y() -> u32 { | |
20 | Y | |
94222f64 | 21 | //~^ ERROR E0013 |
62682a34 SL |
22 | } |
23 | ||
24 | const fn get_Y_addr() -> &'static u32 { | |
25 | &Y | |
94222f64 | 26 | //~^ ERROR E0013 |
62682a34 SL |
27 | } |
28 | ||
a7813a04 | 29 | const fn get() -> u32 { |
94b46f34 | 30 | let x = 22; |
94b46f34 | 31 | let y = 44; |
a7813a04 XL |
32 | x + y |
33 | } | |
34 | ||
8faf50e0 | 35 | fn main() {} |