]>
Commit | Line | Data |
---|---|---|
b7449926 | 1 | // Test use of min_const_fn without feature gate. |
62682a34 | 2 | |
0bf4aa26 | 3 | const fn foo() -> usize { 0 } // stabilized |
62682a34 SL |
4 | |
5 | trait Foo { | |
cdc7bbd5 XL |
6 | const fn foo() -> u32; //~ ERROR functions in traits cannot be declared const |
7 | const fn bar() -> u32 { 0 } //~ ERROR functions in traits cannot be declared const | |
62682a34 SL |
8 | } |
9 | ||
62682a34 | 10 | impl Foo for u32 { |
74b04a01 | 11 | const fn foo() -> u32 { 0 } //~ ERROR functions in traits cannot be declared const |
62682a34 SL |
12 | } |
13 | ||
0731742a XL |
14 | trait Bar {} |
15 | ||
16 | impl dyn Bar { | |
17 | const fn baz() -> u32 { 0 } // stabilized | |
18 | } | |
19 | ||
62682a34 SL |
20 | static FOO: usize = foo(); |
21 | const BAR: usize = foo(); | |
22 | ||
23 | macro_rules! constant { | |
24 | ($n:ident: $t:ty = $v:expr) => { | |
25 | const $n: $t = $v; | |
26 | } | |
27 | } | |
28 | ||
29 | constant! { | |
30 | BAZ: usize = foo() | |
31 | } | |
32 | ||
33 | fn main() { | |
34 | let x: [usize; foo()] = []; | |
35 | } |