From 698f8c2f01ea549d77d7dc3338a12e04c11057b9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:02:58 +0200 Subject: Adding upstream version 1.64.0+dfsg1. Signed-off-by: Daniel Baumann --- src/test/ui/type-alias/issue-14933.rs | 6 ++++++ src/test/ui/type-alias/issue-62263-self-in-atb.rs | 8 ++++++++ src/test/ui/type-alias/issue-62263-self-in-atb.stderr | 9 +++++++++ src/test/ui/type-alias/issue-62305-self-assoc-ty.rs | 4 ++++ src/test/ui/type-alias/issue-62305-self-assoc-ty.stderr | 9 +++++++++ src/test/ui/type-alias/issue-62364-self-ty-arg.rs | 8 ++++++++ src/test/ui/type-alias/issue-62364-self-ty-arg.stderr | 11 +++++++++++ 7 files changed, 55 insertions(+) create mode 100644 src/test/ui/type-alias/issue-14933.rs create mode 100644 src/test/ui/type-alias/issue-62263-self-in-atb.rs create mode 100644 src/test/ui/type-alias/issue-62263-self-in-atb.stderr create mode 100644 src/test/ui/type-alias/issue-62305-self-assoc-ty.rs create mode 100644 src/test/ui/type-alias/issue-62305-self-assoc-ty.stderr create mode 100644 src/test/ui/type-alias/issue-62364-self-ty-arg.rs create mode 100644 src/test/ui/type-alias/issue-62364-self-ty-arg.stderr (limited to 'src/test/ui/type-alias') diff --git a/src/test/ui/type-alias/issue-14933.rs b/src/test/ui/type-alias/issue-14933.rs new file mode 100644 index 000000000..bd95332ca --- /dev/null +++ b/src/test/ui/type-alias/issue-14933.rs @@ -0,0 +1,6 @@ +// check-pass +// pretty-expanded FIXME #23616 + +pub type BigRat = T; + +fn main() {} diff --git a/src/test/ui/type-alias/issue-62263-self-in-atb.rs b/src/test/ui/type-alias/issue-62263-self-in-atb.rs new file mode 100644 index 000000000..91522d891 --- /dev/null +++ b/src/test/ui/type-alias/issue-62263-self-in-atb.rs @@ -0,0 +1,8 @@ +pub trait Trait { + type A; +} + +pub type Alias = dyn Trait; +//~^ ERROR failed to resolve: `Self` + +fn main() {} diff --git a/src/test/ui/type-alias/issue-62263-self-in-atb.stderr b/src/test/ui/type-alias/issue-62263-self-in-atb.stderr new file mode 100644 index 000000000..c20074dc2 --- /dev/null +++ b/src/test/ui/type-alias/issue-62263-self-in-atb.stderr @@ -0,0 +1,9 @@ +error[E0433]: failed to resolve: `Self` is only available in impls, traits, and type definitions + --> $DIR/issue-62263-self-in-atb.rs:5:32 + | +LL | pub type Alias = dyn Trait; + | ^^^^ `Self` is only available in impls, traits, and type definitions + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0433`. diff --git a/src/test/ui/type-alias/issue-62305-self-assoc-ty.rs b/src/test/ui/type-alias/issue-62305-self-assoc-ty.rs new file mode 100644 index 000000000..a4d9a2854 --- /dev/null +++ b/src/test/ui/type-alias/issue-62305-self-assoc-ty.rs @@ -0,0 +1,4 @@ +type Alias = Self::Target; +//~^ ERROR failed to resolve: `Self` + +fn main() {} diff --git a/src/test/ui/type-alias/issue-62305-self-assoc-ty.stderr b/src/test/ui/type-alias/issue-62305-self-assoc-ty.stderr new file mode 100644 index 000000000..f3da50df9 --- /dev/null +++ b/src/test/ui/type-alias/issue-62305-self-assoc-ty.stderr @@ -0,0 +1,9 @@ +error[E0433]: failed to resolve: `Self` is only available in impls, traits, and type definitions + --> $DIR/issue-62305-self-assoc-ty.rs:1:14 + | +LL | type Alias = Self::Target; + | ^^^^ `Self` is only available in impls, traits, and type definitions + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0433`. diff --git a/src/test/ui/type-alias/issue-62364-self-ty-arg.rs b/src/test/ui/type-alias/issue-62364-self-ty-arg.rs new file mode 100644 index 000000000..bebb4a902 --- /dev/null +++ b/src/test/ui/type-alias/issue-62364-self-ty-arg.rs @@ -0,0 +1,8 @@ +struct Struct { + field: P1, +} + +type Alias<'a> = Struct<&'a Self>; +//~^ ERROR cannot find type `Self` in this scope [E0411] + +fn main() {} diff --git a/src/test/ui/type-alias/issue-62364-self-ty-arg.stderr b/src/test/ui/type-alias/issue-62364-self-ty-arg.stderr new file mode 100644 index 000000000..7e15e42e3 --- /dev/null +++ b/src/test/ui/type-alias/issue-62364-self-ty-arg.stderr @@ -0,0 +1,11 @@ +error[E0411]: cannot find type `Self` in this scope + --> $DIR/issue-62364-self-ty-arg.rs:5:29 + | +LL | type Alias<'a> = Struct<&'a Self>; + | ----- ^^^^ `Self` is only available in impls, traits, and type definitions + | | + | `Self` not allowed in a type alias + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0411`. -- cgit v1.2.3