summaryrefslogtreecommitdiffstats
path: root/src/test/ui/structs/struct-path-self-type-mismatch.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/structs/struct-path-self-type-mismatch.rs')
-rw-r--r--src/test/ui/structs/struct-path-self-type-mismatch.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/test/ui/structs/struct-path-self-type-mismatch.rs b/src/test/ui/structs/struct-path-self-type-mismatch.rs
new file mode 100644
index 000000000..c0c557eca
--- /dev/null
+++ b/src/test/ui/structs/struct-path-self-type-mismatch.rs
@@ -0,0 +1,21 @@
+struct Foo<A> { inner: A }
+
+trait Bar { fn bar(); }
+
+impl Bar for Foo<i32> {
+ fn bar() {
+ Self { inner: 1.5f32 }; //~ ERROR mismatched types
+ }
+}
+
+impl<T> Foo<T> {
+ fn new<U>(u: U) -> Foo<U> {
+ Self {
+ //~^ ERROR mismatched types
+ inner: u
+ //~^ ERROR mismatched types
+ }
+ }
+}
+
+fn main() {}