From 5ab1329b58dd9150c994fb6ebda128759c5ab3e5 Mon Sep 17 00:00:00 2001 From: Ellen Date: Mon, 13 Dec 2021 03:16:00 +0000 Subject: hurray for portable simd finding a nice test for this FIXME --- .../ui/const-generics/generic_arg_infer/issue-91614.rs | 8 ++++++++ .../generic_arg_infer/issue-91614.stderr | 18 ++++++++++++++++++ 2 files changed, 26 insertions(+) create mode 100644 src/test/ui/const-generics/generic_arg_infer/issue-91614.rs create mode 100644 src/test/ui/const-generics/generic_arg_infer/issue-91614.stderr (limited to 'src/test/ui') diff --git a/src/test/ui/const-generics/generic_arg_infer/issue-91614.rs b/src/test/ui/const-generics/generic_arg_infer/issue-91614.rs new file mode 100644 index 00000000000..413cc153924 --- /dev/null +++ b/src/test/ui/const-generics/generic_arg_infer/issue-91614.rs @@ -0,0 +1,8 @@ +#![feature(portable_simd)] +#![feature(generic_arg_infer)] +use std::simd::Mask; + +fn main() { + let y = Mask::<_, _>::splat(false); + //~^ error: type annotations needed for `Mask<_, {_: usize}>` +} diff --git a/src/test/ui/const-generics/generic_arg_infer/issue-91614.stderr b/src/test/ui/const-generics/generic_arg_infer/issue-91614.stderr new file mode 100644 index 00000000000..71a5ff79280 --- /dev/null +++ b/src/test/ui/const-generics/generic_arg_infer/issue-91614.stderr @@ -0,0 +1,18 @@ +error[E0283]: type annotations needed for `Mask<_, {_: usize}>` + --> $DIR/issue-91614.rs:6:13 + | +LL | let y = Mask::<_, _>::splat(false); + | - ^^^^^^^^^^^^^^^^^^^ cannot infer type for type parameter `T` + | | + | consider giving `y` the explicit type `Mask<_, LANES>`, where the type parameter `T` is specified + | + = note: cannot satisfy `_: MaskElement` +note: required by a bound in `Mask::::splat` + --> $SRC_DIR/core/src/../../portable-simd/crates/core_simd/src/masks.rs:LL:COL + | +LL | T: MaskElement, + | ^^^^^^^^^^^ required by this bound in `Mask::::splat` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0283`. -- cgit 1.4.1-3-g733a5 From 6c795951346b846964fb031df07fba2d2cd8c7d0 Mon Sep 17 00:00:00 2001 From: Ellen Date: Mon, 13 Dec 2021 03:33:14 +0000 Subject: extra test for bug i found --- .../const-generics/generic_arg_infer/dont-use-defaults.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 src/test/ui/const-generics/generic_arg_infer/dont-use-defaults.rs (limited to 'src/test/ui') diff --git a/src/test/ui/const-generics/generic_arg_infer/dont-use-defaults.rs b/src/test/ui/const-generics/generic_arg_infer/dont-use-defaults.rs new file mode 100644 index 00000000000..251160a0f5f --- /dev/null +++ b/src/test/ui/const-generics/generic_arg_infer/dont-use-defaults.rs @@ -0,0 +1,15 @@ +// run-pass +#![feature(generic_arg_infer)] + +// test that we dont use defaults to aide in type inference + +struct Foo; +impl Foo { + fn make_arr() -> [(); N] { + [(); N] + } +} + +fn main() { + let [(), (), ()] = Foo::<_>::make_arr(); +} -- cgit 1.4.1-3-g733a5