summaryrefslogtreecommitdiffstats
path: root/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr')
-rw-r--r--src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr512
1 files changed, 512 insertions, 0 deletions
diff --git a/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr b/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr
new file mode 100644
index 000000000..a922d7a5e
--- /dev/null
+++ b/src/test/ui/type-alias-enum-variants/enum-variant-generic-args.stderr
@@ -0,0 +1,512 @@
+error[E0308]: mismatched types
+ --> $DIR/enum-variant-generic-args.rs:13:25
+ |
+LL | impl<T> Enum<T> {
+ | - this type parameter
+LL | fn ts_variant() {
+LL | Self::TSVariant(());
+ | --------------- ^^ expected type parameter `T`, found `()`
+ | |
+ | arguments to this enum variant are incorrect
+ |
+ = note: expected type parameter `T`
+ found unit type `()`
+note: tuple variant defined here
+ --> $DIR/enum-variant-generic-args.rs:7:16
+ |
+LL | enum Enum<T> { TSVariant(T), SVariant { v: T }, UVariant }
+ | ^^^^^^^^^
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:15:27
+ |
+LL | Self::TSVariant::<()>(());
+ | --------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0109]: type arguments are not allowed on self type
+ --> $DIR/enum-variant-generic-args.rs:17:16
+ |
+LL | Self::<()>::TSVariant(());
+ | ---- ^^ type argument not allowed
+ | |
+ | not allowed on self type
+ |
+note: `Self` is of type `Enum<T>`
+ --> $DIR/enum-variant-generic-args.rs:7:6
+ |
+LL | enum Enum<T> { TSVariant(T), SVariant { v: T }, UVariant }
+ | ^^^^ `Self` corresponds to this type
+...
+LL | impl<T> Enum<T> {
+ | --------------- `Self` is on type `Enum` in this `impl`
+help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
+ |
+LL | Enum::<()>::TSVariant(());
+ | ~~~~
+
+error[E0308]: mismatched types
+ --> $DIR/enum-variant-generic-args.rs:17:31
+ |
+LL | impl<T> Enum<T> {
+ | - this type parameter
+...
+LL | Self::<()>::TSVariant(());
+ | --------------------- ^^ expected type parameter `T`, found `()`
+ | |
+ | arguments to this enum variant are incorrect
+ |
+ = note: expected type parameter `T`
+ found unit type `()`
+note: tuple variant defined here
+ --> $DIR/enum-variant-generic-args.rs:7:16
+ |
+LL | enum Enum<T> { TSVariant(T), SVariant { v: T }, UVariant }
+ | ^^^^^^^^^
+
+error[E0109]: type arguments are not allowed on self type
+ --> $DIR/enum-variant-generic-args.rs:20:16
+ |
+LL | Self::<()>::TSVariant::<()>(());
+ | ---- ^^ type argument not allowed
+ | |
+ | not allowed on self type
+ |
+note: `Self` is of type `Enum<T>`
+ --> $DIR/enum-variant-generic-args.rs:7:6
+ |
+LL | enum Enum<T> { TSVariant(T), SVariant { v: T }, UVariant }
+ | ^^^^ `Self` corresponds to this type
+...
+LL | impl<T> Enum<T> {
+ | --------------- `Self` is on type `Enum` in this `impl`
+help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
+ |
+LL | Enum::<()>::TSVariant::<()>(());
+ | ~~~~
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:20:33
+ |
+LL | Self::<()>::TSVariant::<()>(());
+ | --------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0308]: mismatched types
+ --> $DIR/enum-variant-generic-args.rs:26:29
+ |
+LL | impl<T> Enum<T> {
+ | - this type parameter
+...
+LL | Self::SVariant { v: () };
+ | ^^ expected type parameter `T`, found `()`
+ |
+ = note: expected type parameter `T`
+ found unit type `()`
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:28:26
+ |
+LL | Self::SVariant::<()> { v: () };
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+ |
+ = note: enum variants can't have type parameters
+help: you might have meant to specity type parameters on enum `Enum`
+ |
+LL - Self::SVariant::<()> { v: () };
+LL + Enum::<()>::SVariant { v: () };
+ |
+
+error[E0308]: mismatched types
+ --> $DIR/enum-variant-generic-args.rs:28:35
+ |
+LL | impl<T> Enum<T> {
+ | - this type parameter
+...
+LL | Self::SVariant::<()> { v: () };
+ | ^^ expected type parameter `T`, found `()`
+ |
+ = note: expected type parameter `T`
+ found unit type `()`
+
+error[E0109]: type arguments are not allowed on self type
+ --> $DIR/enum-variant-generic-args.rs:31:16
+ |
+LL | Self::<()>::SVariant { v: () };
+ | ---- ^^ type argument not allowed
+ | |
+ | not allowed on self type
+ |
+note: `Self` is of type `Enum<T>`
+ --> $DIR/enum-variant-generic-args.rs:7:6
+ |
+LL | enum Enum<T> { TSVariant(T), SVariant { v: T }, UVariant }
+ | ^^^^ `Self` corresponds to this type
+...
+LL | impl<T> Enum<T> {
+ | --------------- `Self` is on type `Enum` in this `impl`
+help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
+ |
+LL | Enum::<()>::SVariant { v: () };
+ | ~~~~
+
+error[E0308]: mismatched types
+ --> $DIR/enum-variant-generic-args.rs:31:35
+ |
+LL | impl<T> Enum<T> {
+ | - this type parameter
+...
+LL | Self::<()>::SVariant { v: () };
+ | ^^ expected type parameter `T`, found `()`
+ |
+ = note: expected type parameter `T`
+ found unit type `()`
+
+error[E0109]: type arguments are not allowed on self type
+ --> $DIR/enum-variant-generic-args.rs:34:16
+ |
+LL | Self::<()>::SVariant::<()> { v: () };
+ | ---- ^^ type argument not allowed
+ | |
+ | not allowed on self type
+ |
+note: `Self` is of type `Enum<T>`
+ --> $DIR/enum-variant-generic-args.rs:7:6
+ |
+LL | enum Enum<T> { TSVariant(T), SVariant { v: T }, UVariant }
+ | ^^^^ `Self` corresponds to this type
+...
+LL | impl<T> Enum<T> {
+ | --------------- `Self` is on type `Enum` in this `impl`
+help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
+ |
+LL | Enum::<()>::SVariant::<()> { v: () };
+ | ~~~~
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:34:32
+ |
+LL | Self::<()>::SVariant::<()> { v: () };
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+ |
+ = note: enum variants can't have type parameters
+help: you might have meant to specity type parameters on enum `Enum`
+ |
+LL - Self::<()>::SVariant::<()> { v: () };
+LL + Enum::<()>::SVariant { v: () };
+ |
+
+error[E0308]: mismatched types
+ --> $DIR/enum-variant-generic-args.rs:34:41
+ |
+LL | impl<T> Enum<T> {
+ | - this type parameter
+...
+LL | Self::<()>::SVariant::<()> { v: () };
+ | ^^ expected type parameter `T`, found `()`
+ |
+ = note: expected type parameter `T`
+ found unit type `()`
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:41:26
+ |
+LL | Self::UVariant::<()>;
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0109]: type arguments are not allowed on self type
+ --> $DIR/enum-variant-generic-args.rs:43:16
+ |
+LL | Self::<()>::UVariant;
+ | ---- ^^ type argument not allowed
+ | |
+ | not allowed on self type
+ |
+note: `Self` is of type `Enum<T>`
+ --> $DIR/enum-variant-generic-args.rs:7:6
+ |
+LL | enum Enum<T> { TSVariant(T), SVariant { v: T }, UVariant }
+ | ^^^^ `Self` corresponds to this type
+...
+LL | impl<T> Enum<T> {
+ | --------------- `Self` is on type `Enum` in this `impl`
+help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
+ |
+LL | Enum::<()>::UVariant;
+ | ~~~~
+
+error[E0109]: type arguments are not allowed on self type
+ --> $DIR/enum-variant-generic-args.rs:45:16
+ |
+LL | Self::<()>::UVariant::<()>;
+ | ---- ^^ type argument not allowed
+ | |
+ | not allowed on self type
+ |
+note: `Self` is of type `Enum<T>`
+ --> $DIR/enum-variant-generic-args.rs:7:6
+ |
+LL | enum Enum<T> { TSVariant(T), SVariant { v: T }, UVariant }
+ | ^^^^ `Self` corresponds to this type
+...
+LL | impl<T> Enum<T> {
+ | --------------- `Self` is on type `Enum` in this `impl`
+help: the `Self` type doesn't accept type parameters, use the concrete type's name `Enum` instead if you want to specify its type parameters
+ |
+LL | Enum::<()>::UVariant::<()>;
+ | ~~~~
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:45:32
+ |
+LL | Self::<()>::UVariant::<()>;
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0109]: type arguments are not allowed on tuple variant `TSVariant`
+ --> $DIR/enum-variant-generic-args.rs:54:29
+ |
+LL | Enum::<()>::TSVariant::<()>(());
+ | --------- ^^ type argument not allowed
+ | |
+ | not allowed on tuple variant `TSVariant`
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:57:24
+ |
+LL | Alias::TSVariant::<()>(());
+ | --------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:59:30
+ |
+LL | Alias::<()>::TSVariant::<()>(());
+ | --------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:62:29
+ |
+LL | AliasFixed::TSVariant::<()>(());
+ | --------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/enum-variant-generic-args.rs:64:5
+ |
+LL | AliasFixed::<()>::TSVariant(());
+ | ^^^^^^^^^^------ help: remove these generics
+ | |
+ | expected 0 generic arguments
+ |
+note: type alias defined here, with 0 generic parameters
+ --> $DIR/enum-variant-generic-args.rs:9:6
+ |
+LL | type AliasFixed = Enum<()>;
+ | ^^^^^^^^^^
+
+error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/enum-variant-generic-args.rs:66:5
+ |
+LL | AliasFixed::<()>::TSVariant::<()>(());
+ | ^^^^^^^^^^------ help: remove these generics
+ | |
+ | expected 0 generic arguments
+ |
+note: type alias defined here, with 0 generic parameters
+ --> $DIR/enum-variant-generic-args.rs:9:6
+ |
+LL | type AliasFixed = Enum<()>;
+ | ^^^^^^^^^^
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:66:35
+ |
+LL | AliasFixed::<()>::TSVariant::<()>(());
+ | --------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0109]: type arguments are not allowed on variant `SVariant`
+ --> $DIR/enum-variant-generic-args.rs:72:28
+ |
+LL | Enum::<()>::SVariant::<()> { v: () };
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on variant `SVariant`
+ |
+ = note: enum variants can't have type parameters
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:75:23
+ |
+LL | Alias::SVariant::<()> { v: () };
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+ |
+ = note: enum variants can't have type parameters
+help: you might have meant to specity type parameters on enum `Enum`
+ |
+LL - Alias::SVariant::<()> { v: () };
+LL + Alias::<()>::SVariant { v: () };
+ |
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:77:29
+ |
+LL | Alias::<()>::SVariant::<()> { v: () };
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+ |
+ = note: enum variants can't have type parameters
+help: you might have meant to specity type parameters on enum `Enum`
+ |
+LL - Alias::<()>::SVariant::<()> { v: () };
+LL + Alias::<()>::SVariant { v: () };
+ |
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:80:28
+ |
+LL | AliasFixed::SVariant::<()> { v: () };
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+ |
+ = note: enum variants can't have type parameters
+help: you might have meant to specity type parameters on enum `Enum`
+ |
+LL - AliasFixed::SVariant::<()> { v: () };
+LL + AliasFixed::<()>::SVariant { v: () };
+ |
+
+error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/enum-variant-generic-args.rs:82:5
+ |
+LL | AliasFixed::<()>::SVariant { v: () };
+ | ^^^^^^^^^^------ help: remove these generics
+ | |
+ | expected 0 generic arguments
+ |
+note: type alias defined here, with 0 generic parameters
+ --> $DIR/enum-variant-generic-args.rs:9:6
+ |
+LL | type AliasFixed = Enum<()>;
+ | ^^^^^^^^^^
+
+error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/enum-variant-generic-args.rs:84:5
+ |
+LL | AliasFixed::<()>::SVariant::<()> { v: () };
+ | ^^^^^^^^^^------ help: remove these generics
+ | |
+ | expected 0 generic arguments
+ |
+note: type alias defined here, with 0 generic parameters
+ --> $DIR/enum-variant-generic-args.rs:9:6
+ |
+LL | type AliasFixed = Enum<()>;
+ | ^^^^^^^^^^
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:84:34
+ |
+LL | AliasFixed::<()>::SVariant::<()> { v: () };
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+ |
+ = note: enum variants can't have type parameters
+help: you might have meant to specity type parameters on enum `Enum`
+ |
+LL - AliasFixed::<()>::SVariant::<()> { v: () };
+LL + AliasFixed::<()>::SVariant { v: () };
+ |
+
+error[E0109]: type arguments are not allowed on unit variant `UVariant`
+ --> $DIR/enum-variant-generic-args.rs:90:28
+ |
+LL | Enum::<()>::UVariant::<()>;
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on unit variant `UVariant`
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:93:23
+ |
+LL | Alias::UVariant::<()>;
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:95:29
+ |
+LL | Alias::<()>::UVariant::<()>;
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:98:28
+ |
+LL | AliasFixed::UVariant::<()>;
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/enum-variant-generic-args.rs:100:5
+ |
+LL | AliasFixed::<()>::UVariant;
+ | ^^^^^^^^^^------ help: remove these generics
+ | |
+ | expected 0 generic arguments
+ |
+note: type alias defined here, with 0 generic parameters
+ --> $DIR/enum-variant-generic-args.rs:9:6
+ |
+LL | type AliasFixed = Enum<()>;
+ | ^^^^^^^^^^
+
+error[E0107]: this type alias takes 0 generic arguments but 1 generic argument was supplied
+ --> $DIR/enum-variant-generic-args.rs:102:5
+ |
+LL | AliasFixed::<()>::UVariant::<()>;
+ | ^^^^^^^^^^------ help: remove these generics
+ | |
+ | expected 0 generic arguments
+ |
+note: type alias defined here, with 0 generic parameters
+ --> $DIR/enum-variant-generic-args.rs:9:6
+ |
+LL | type AliasFixed = Enum<()>;
+ | ^^^^^^^^^^
+
+error[E0109]: type arguments are not allowed on this type
+ --> $DIR/enum-variant-generic-args.rs:102:34
+ |
+LL | AliasFixed::<()>::UVariant::<()>;
+ | -------- ^^ type argument not allowed
+ | |
+ | not allowed on this type
+
+error: aborting due to 39 previous errors
+
+Some errors have detailed explanations: E0107, E0109, E0308.
+For more information about an error, try `rustc --explain E0107`.