diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-10-09 18:31:48 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-10-09 18:31:48 +0900 |
| commit | 07627a3aa3dc7e0e961b523808dfd55bb86bde3e (patch) | |
| tree | caba980aa5694b08a9f30e8b05691f1fb7edd2c9 /src | |
| parent | 9a74fb726ec40be398c55bce66c6d0b1a91d106c (diff) | |
| download | rust-07627a3aa3dc7e0e961b523808dfd55bb86bde3e.tar.gz rust-07627a3aa3dc7e0e961b523808dfd55bb86bde3e.zip | |
Add a regression test for issue-52843
Diffstat (limited to 'src')
| -rw-r--r-- | src/test/ui/type-alias-impl-trait/issue-52843.rs | 15 | ||||
| -rw-r--r-- | src/test/ui/type-alias-impl-trait/issue-52843.stderr | 14 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.rs b/src/test/ui/type-alias-impl-trait/issue-52843.rs new file mode 100644 index 00000000000..b24959d7207 --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/issue-52843.rs @@ -0,0 +1,15 @@ +#![feature(type_alias_impl_trait)] + +type Foo<T> = impl Default; +//~^ ERROR: the trait bound `T: Default` is not satisfied + +#[allow(unused)] +fn foo<T: Default>(t: T) -> Foo<T> { + t +} + +struct NotDefault; + +fn main() { + let _ = Foo::<NotDefault>::default(); +} diff --git a/src/test/ui/type-alias-impl-trait/issue-52843.stderr b/src/test/ui/type-alias-impl-trait/issue-52843.stderr new file mode 100644 index 00000000000..25db8dfabfc --- /dev/null +++ b/src/test/ui/type-alias-impl-trait/issue-52843.stderr @@ -0,0 +1,14 @@ +error[E0277]: the trait bound `T: Default` is not satisfied + --> $DIR/issue-52843.rs:3:15 + | +LL | type Foo<T> = impl Default; + | ^^^^^^^^^^^^ the trait `Default` is not implemented for `T` + | +help: consider restricting type parameter `T` + | +LL | type Foo<T: Default> = impl Default; + | ^^^^^^^^^ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. |
