diff options
| author | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-06-23 17:52:42 +0900 |
|---|---|---|
| committer | Yuki Okushi <huyuumi.dev@gmail.com> | 2020-06-23 17:52:42 +0900 |
| commit | e817cd2a6e499eebf9674e558b762fd98581f13a (patch) | |
| tree | 959a1682dcf84981dba8aa537d46ef3c863e3ed8 | |
| parent | 43ef554b6ab72c4cc3c56dab8e9b61021c63b3b7 (diff) | |
| download | rust-e817cd2a6e499eebf9674e558b762fd98581f13a.tar.gz rust-e817cd2a6e499eebf9674e558b762fd98581f13a.zip | |
Add test for issue-59435
| -rw-r--r-- | src/test/ui/specialization/issue-59435.rs | 17 | ||||
| -rw-r--r-- | src/test/ui/specialization/issue-59435.stderr | 12 |
2 files changed, 29 insertions, 0 deletions
diff --git a/src/test/ui/specialization/issue-59435.rs b/src/test/ui/specialization/issue-59435.rs new file mode 100644 index 00000000000..47323d3096f --- /dev/null +++ b/src/test/ui/specialization/issue-59435.rs @@ -0,0 +1,17 @@ +#![feature(specialization)] +#![allow(incomplete_features)] + +struct MyStruct {} + +trait MyTrait { + type MyType: Default; +} + +impl MyTrait for i32 { + default type MyType = MyStruct; + //~^ ERROR: the trait bound `MyStruct: std::default::Default` is not satisfied +} + +fn main() { + let _x: <i32 as MyTrait>::MyType = <i32 as MyTrait>::MyType::default(); +} diff --git a/src/test/ui/specialization/issue-59435.stderr b/src/test/ui/specialization/issue-59435.stderr new file mode 100644 index 00000000000..fd512a539a3 --- /dev/null +++ b/src/test/ui/specialization/issue-59435.stderr @@ -0,0 +1,12 @@ +error[E0277]: the trait bound `MyStruct: std::default::Default` is not satisfied + --> $DIR/issue-59435.rs:11:5 + | +LL | type MyType: Default; + | --------------------- required by `MyTrait::MyType` +... +LL | default type MyType = MyStruct; + | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `std::default::Default` is not implemented for `MyStruct` + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0277`. |
