summaryrefslogtreecommitdiffstats
path: root/src/test/ui/impl-trait/trait_type.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/impl-trait/trait_type.rs')
-rw-r--r--src/test/ui/impl-trait/trait_type.rs24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/test/ui/impl-trait/trait_type.rs b/src/test/ui/impl-trait/trait_type.rs
new file mode 100644
index 000000000..638fefc46
--- /dev/null
+++ b/src/test/ui/impl-trait/trait_type.rs
@@ -0,0 +1,24 @@
+struct MyType;
+struct MyType2;
+struct MyType3;
+struct MyType4;
+
+impl std::fmt::Display for MyType {
+ fn fmt(&self, x: &str) -> () { }
+ //~^ ERROR method `fmt` has an incompatible type
+}
+
+impl std::fmt::Display for MyType2 {
+ fn fmt(&self) -> () { }
+ //~^ ERROR method `fmt` has 1 parameter
+}
+
+impl std::fmt::Display for MyType3 {
+ fn fmt() -> () { }
+ //~^ ERROR method `fmt` has a `&self` declaration in the trait
+}
+
+impl std::fmt::Display for MyType4 {}
+//~^ ERROR not all trait items
+
+fn main() {}