diff options
Diffstat (limited to 'src/test/ui/consts/rustc-args-required-const.rs')
| -rw-r--r-- | src/test/ui/consts/rustc-args-required-const.rs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/ui/consts/rustc-args-required-const.rs b/src/test/ui/consts/rustc-args-required-const.rs new file mode 100644 index 00000000000..87f979f1b27 --- /dev/null +++ b/src/test/ui/consts/rustc-args-required-const.rs @@ -0,0 +1,27 @@ +#![feature(rustc_attrs, const_fn)] + +#[rustc_args_required_const(0)] +fn foo(_a: i32) { +} + +#[rustc_args_required_const(1)] +fn bar(_a: i32, _b: i32) { +} + +const A: i32 = 3; + +const fn baz() -> i32 { + 3 +} + +fn main() { + foo(2); + foo(2 + 3); + const BAZ: i32 = baz(); + foo(BAZ); + let a = 4; + foo(A); + foo(a); //~ ERROR: argument 1 is required to be a constant + bar(a, 3); + bar(a, a); //~ ERROR: argument 2 is required to be a constant +} |
