about summary refs log tree commit diff
path: root/src/test/ui/specialization
diff options
context:
space:
mode:
authorlcnr <rust@lcnr.de>2022-11-18 14:51:24 +0100
committerlcnr <rust@lcnr.de>2022-11-18 14:51:24 +0100
commit4e504c712d67077173e28f0a1b0ecef4d6cdd31d (patch)
treef1c73d3d211edfd352a0610fef5193b31cdd3bd8 /src/test/ui/specialization
parent30117a1dbb843da1d5ab1258e89a3ed0b1940475 (diff)
deduplicate tests
Diffstat (limited to 'src/test/ui/specialization')
-rw-r--r--src/test/ui/specialization/issue-43037.current.stderr (renamed from src/test/ui/specialization/issue-43037.stderr)2
-rw-r--r--src/test/ui/specialization/issue-43037.negative.stderr12
-rw-r--r--src/test/ui/specialization/issue-43037.rs2
-rw-r--r--src/test/ui/specialization/issue-45814.current.stderr (renamed from src/test/ui/specialization/issue-45814.stderr)2
-rw-r--r--src/test/ui/specialization/issue-45814.negative.stderr14
-rw-r--r--src/test/ui/specialization/issue-45814.rs3
6 files changed, 32 insertions, 3 deletions
diff --git a/src/test/ui/specialization/issue-43037.stderr b/src/test/ui/specialization/issue-43037.current.stderr
index 4249cd89477..26db9d7c997 100644
--- a/src/test/ui/specialization/issue-43037.stderr
+++ b/src/test/ui/specialization/issue-43037.current.stderr
@@ -1,5 +1,5 @@
 error[E0210]: type parameter `T` must be used as the type parameter for some local type (e.g., `MyStruct<T>`)
-  --> $DIR/issue-43037.rs:17:6
+  --> $DIR/issue-43037.rs:19:6
    |
 LL | impl<T> From<<A<T> as Z>::Assoc> for T {}
    |      ^ type parameter `T` must be used as the type parameter for some local type
diff --git a/src/test/ui/specialization/issue-43037.negative.stderr b/src/test/ui/specialization/issue-43037.negative.stderr
new file mode 100644
index 00000000000..26db9d7c997
--- /dev/null
+++ b/src/test/ui/specialization/issue-43037.negative.stderr
@@ -0,0 +1,12 @@
+error[E0210]: type parameter `T` must be used as the type parameter for some local type (e.g., `MyStruct<T>`)
+  --> $DIR/issue-43037.rs:19:6
+   |
+LL | impl<T> From<<A<T> as Z>::Assoc> for T {}
+   |      ^ type parameter `T` must be used as the type parameter for some local type
+   |
+   = note: implementing a foreign trait is only possible if at least one of the types for which it is implemented is local
+   = note: only traits defined in the current crate can be implemented for a type parameter
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0210`.
diff --git a/src/test/ui/specialization/issue-43037.rs b/src/test/ui/specialization/issue-43037.rs
index c49119f9c09..a1e3f998b23 100644
--- a/src/test/ui/specialization/issue-43037.rs
+++ b/src/test/ui/specialization/issue-43037.rs
@@ -1,4 +1,6 @@
+// revisions: current negative
 #![feature(specialization)]
+#![cfg_attr(negative, feature(with_negative_coherence))]
 #![allow(incomplete_features)]
 
 trait X {}
diff --git a/src/test/ui/specialization/issue-45814.stderr b/src/test/ui/specialization/issue-45814.current.stderr
index 419345addc2..5013559b80e 100644
--- a/src/test/ui/specialization/issue-45814.stderr
+++ b/src/test/ui/specialization/issue-45814.current.stderr
@@ -2,7 +2,7 @@ error[E0275]: overflow evaluating the requirement `T: Trait<_>`
    |
    = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_45814`)
 note: required for `T` to implement `Trait<_>`
-  --> $DIR/issue-45814.rs:8:20
+  --> $DIR/issue-45814.rs:9:20
    |
 LL | default impl<T, U> Trait<T> for U {}
    |                    ^^^^^^^^     ^
diff --git a/src/test/ui/specialization/issue-45814.negative.stderr b/src/test/ui/specialization/issue-45814.negative.stderr
new file mode 100644
index 00000000000..5013559b80e
--- /dev/null
+++ b/src/test/ui/specialization/issue-45814.negative.stderr
@@ -0,0 +1,14 @@
+error[E0275]: overflow evaluating the requirement `T: Trait<_>`
+   |
+   = help: consider increasing the recursion limit by adding a `#![recursion_limit = "256"]` attribute to your crate (`issue_45814`)
+note: required for `T` to implement `Trait<_>`
+  --> $DIR/issue-45814.rs:9:20
+   |
+LL | default impl<T, U> Trait<T> for U {}
+   |                    ^^^^^^^^     ^
+   = note: 128 redundant requirements hidden
+   = note: required for `T` to implement `Trait<_>`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0275`.
diff --git a/src/test/ui/specialization/issue-45814.rs b/src/test/ui/specialization/issue-45814.rs
index 8ee5d3e2e58..fce236390c2 100644
--- a/src/test/ui/specialization/issue-45814.rs
+++ b/src/test/ui/specialization/issue-45814.rs
@@ -1,6 +1,7 @@
 //~ ERROR overflow evaluating the requirement `T: Trait<_>`
-
+// revisions: current negative
 #![feature(specialization)]
+#![cfg_attr(negative, feature(with_negative_coherence))]
 #![allow(incomplete_features)]
 
 pub trait Trait<T> {}