about summary refs log tree commit diff
path: root/src/test/ui/const-generics/defaults
diff options
context:
space:
mode:
authorEllen <supbscripter@gmail.com>2021-07-14 19:22:32 +0100
committerEllen <supbscripter@gmail.com>2021-07-14 19:22:39 +0100
commitda189d95146fb6c567aef10f1be400dfd9f43862 (patch)
tree8efac14ed35ecd88af6ca50dd290a5ca7387b405 /src/test/ui/const-generics/defaults
parentee5ed4a88d6a869cdb152829ed697d6459650db3 (diff)
Change type param -> generic param
Diffstat (limited to 'src/test/ui/const-generics/defaults')
-rw-r--r--src/test/ui/const-generics/defaults/default-const-param-cannot-reference-self.rs16
-rw-r--r--src/test/ui/const-generics/defaults/default-const-param-cannot-reference-self.stderr21
2 files changed, 37 insertions, 0 deletions
diff --git a/src/test/ui/const-generics/defaults/default-const-param-cannot-reference-self.rs b/src/test/ui/const-generics/defaults/default-const-param-cannot-reference-self.rs
new file mode 100644
index 00000000000..9af84439252
--- /dev/null
+++ b/src/test/ui/const-generics/defaults/default-const-param-cannot-reference-self.rs
@@ -0,0 +1,16 @@
+#![feature(const_generics_defaults)]
+
+struct Struct<const N: usize = { Self; 10 }>;
+//~^ ERROR generic parameters cannot use `Self` in their defaults [E0735]
+
+enum Enum<const N: usize = { Self; 10 }> { }
+//~^ ERROR generic parameters cannot use `Self` in their defaults [E0735]
+
+union Union<const N: usize = { Self; 10 }> { not_empty: () }
+//~^ ERROR generic parameters cannot use `Self` in their defaults [E0735]
+
+fn main() {
+    let _: Struct;
+    let _: Enum;
+    let _: Union;
+}
diff --git a/src/test/ui/const-generics/defaults/default-const-param-cannot-reference-self.stderr b/src/test/ui/const-generics/defaults/default-const-param-cannot-reference-self.stderr
new file mode 100644
index 00000000000..3cc56e51807
--- /dev/null
+++ b/src/test/ui/const-generics/defaults/default-const-param-cannot-reference-self.stderr
@@ -0,0 +1,21 @@
+error[E0735]: generic parameters cannot use `Self` in their defaults
+  --> $DIR/default-const-param-cannot-reference-self.rs:3:36
+   |
+LL | struct Snobound<const N: usize = { Self; 10 }>;
+   |                                    ^^^^ `Self` in generic parameter default
+
+error[E0735]: generic parameters cannot use `Self` in their defaults
+  --> $DIR/default-const-param-cannot-reference-self.rs:6:34
+   |
+LL | enum Enobound<const N: usize = { Self; 10 }> { }
+   |                                  ^^^^ `Self` in generic parameter default
+
+error[E0735]: generic parameters cannot use `Self` in their defaults
+  --> $DIR/default-const-param-cannot-reference-self.rs:9:35
+   |
+LL | union Unobound<const N: usize = { Self; 10 }> { not_empty: () }
+   |                                   ^^^^ `Self` in generic parameter default
+
+error: aborting due to 3 previous errors
+
+For more information about this error, try `rustc --explain E0735`.