]> git.proxmox.com Git - rustc.git/blame - src/test/ui/feature-gates/feature-gate-min_const_fn.rs
New upstream version 1.66.0+dfsg1
[rustc.git] / src / test / ui / feature-gates / feature-gate-min_const_fn.rs
CommitLineData
b7449926 1// Test use of min_const_fn without feature gate.
62682a34 2
0bf4aa26 3const fn foo() -> usize { 0 } // stabilized
62682a34
SL
4
5trait 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 10impl Foo for u32 {
74b04a01 11 const fn foo() -> u32 { 0 } //~ ERROR functions in traits cannot be declared const
62682a34
SL
12}
13
0731742a
XL
14trait Bar {}
15
16impl dyn Bar {
17 const fn baz() -> u32 { 0 } // stabilized
18}
19
62682a34
SL
20static FOO: usize = foo();
21const BAR: usize = foo();
22
23macro_rules! constant {
24 ($n:ident: $t:ty = $v:expr) => {
25 const $n: $t = $v;
26 }
27}
28
29constant! {
30 BAZ: usize = foo()
31}
32
33fn main() {
34 let x: [usize; foo()] = [];
35}