diff options
| author | Santiago Pastorino <spastorino@gmail.com> | 2021-08-20 18:32:57 -0300 |
|---|---|---|
| committer | Santiago Pastorino <spastorino@gmail.com> | 2021-08-20 18:32:57 -0300 |
| commit | c6c2f11ab614e5e17ddbfa28b5ff9c9e5a2d8b52 (patch) | |
| tree | 584ce7bb42493533b952c7277588d73265a3275d | |
| parent | a9ab2e55395013de116340e4cbfa0bb0263bb658 (diff) | |
| download | rust-c6c2f11ab614e5e17ddbfa28b5ff9c9e5a2d8b52.tar.gz rust-c6c2f11ab614e5e17ddbfa28b5ff9c9e5a2d8b52.zip | |
Test tait use in a fn type
| -rw-r--r-- | src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs | 13 | ||||
| -rw-r--r-- | src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr | 9 |
2 files changed, 22 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs new file mode 100644 index 00000000000..299bdf562dc --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.rs @@ -0,0 +1,13 @@ +#![feature(type_alias_impl_trait)] +#![allow(dead_code)] + +// FIXME: this is ruled out for now but should work + +type Foo = fn() -> impl Send; +//~^ ERROR: `impl Trait` not allowed outside of function and method return types + +fn make_foo() -> Foo { + || 15 +} + +fn main() {} diff --git a/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr new file mode 100644 index 00000000000..1c5d57d4af7 --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/type-alias-impl-trait-fn-type.stderr @@ -0,0 +1,9 @@ +error[E0562]: `impl Trait` not allowed outside of function and method return types + --> $DIR/type-alias-impl-trait-fn-type.rs:6:20 + | +LL | type Foo = fn() -> impl Send; + | ^^^^^^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0562`. |
