diff options
| author | Ellen <supbscripter@gmail.com> | 2021-02-01 20:05:43 +0000 |
|---|---|---|
| committer | Ellen <supbscripter@gmail.com> | 2021-02-01 20:05:50 +0000 |
| commit | 7f8530f16b8cc908cb77970967addf39ae1a975d (patch) | |
| tree | 8d1794b58d4356023bdc8419a827cf07210c0bce /src/test/ui/const-generics/const_evaluatable_checked | |
| parent | 02b85d722050d61b40ae9746b3bac54ab55b1056 (diff) | |
| download | rust-7f8530f16b8cc908cb77970967addf39ae1a975d.tar.gz rust-7f8530f16b8cc908cb77970967addf39ae1a975d.zip | |
more things are const evaluatable *sparkles*
Diffstat (limited to 'src/test/ui/const-generics/const_evaluatable_checked')
| -rw-r--r-- | src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-1.rs | 1 | ||||
| -rw-r--r-- | src/test/ui/const-generics/const_evaluatable_checked/subexprs_are_const_evalutable.rs | 17 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-1.rs b/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-1.rs index 1428f774b0d..4d0b87efc77 100644 --- a/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-1.rs +++ b/src/test/ui/const-generics/const_evaluatable_checked/nested_uneval_unification-1.rs @@ -21,7 +21,6 @@ where fn substs3<const L: usize>() -> Substs1<{ (L - 1) * 2 }> where - [(); (L - 1)]: , [(); (L - 1) * 2 + 1]: , { substs2::<{ L - 1 }>() diff --git a/src/test/ui/const-generics/const_evaluatable_checked/subexprs_are_const_evalutable.rs b/src/test/ui/const-generics/const_evaluatable_checked/subexprs_are_const_evalutable.rs new file mode 100644 index 00000000000..11c0760cdfe --- /dev/null +++ b/src/test/ui/const-generics/const_evaluatable_checked/subexprs_are_const_evalutable.rs @@ -0,0 +1,17 @@ +// run-pass +#![feature(const_generics, const_evaluatable_checked)] +#![allow(incomplete_features)] + +fn make_array<const M: usize>() -> [(); M + 1] { + [(); M + 1] +} + +fn foo<const N: usize>() -> [(); (N * 2) + 1] { + make_array::<{ N * 2 }>() +} + +fn main() { + assert_eq!(foo::<10>(), [(); 10 * 2 + 1]) +} + +// Tests that N * 2 is considered const_evalutable by appearing as part of the (N * 2) + 1 const |
