summaryrefslogtreecommitdiffstats
path: root/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/suggestions/adt-param-with-implicit-sized-bound.rs')
-rw-r--r--src/test/ui/suggestions/adt-param-with-implicit-sized-bound.rs28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.rs b/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.rs
new file mode 100644
index 000000000..ef64d799b
--- /dev/null
+++ b/src/test/ui/suggestions/adt-param-with-implicit-sized-bound.rs
@@ -0,0 +1,28 @@
+trait Trait {
+ fn func1() -> Struct1<Self>; //~ ERROR E0277
+ fn func2<'a>() -> Struct2<'a, Self>; //~ ERROR E0277
+ fn func3() -> Struct3<Self>; //~ ERROR E0277
+ fn func4() -> Struct4<Self>; //~ ERROR E0277
+}
+
+struct Struct1<T>{
+ _t: std::marker::PhantomData<*const T>,
+}
+struct Struct2<'a, T>{
+ _t: &'a T,
+}
+struct Struct3<T>{
+ _t: T,
+}
+
+struct X<T>(T);
+
+struct Struct4<T>{
+ _t: X<T>,
+}
+
+struct Struct5<T: ?Sized>{
+ _t: X<T>, //~ ERROR E0277
+}
+
+fn main() {}