summaryrefslogtreecommitdiffstats
path: root/src/test/ui/specialization/issue-39448.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/specialization/issue-39448.rs')
-rw-r--r--src/test/ui/specialization/issue-39448.rs50
1 files changed, 0 insertions, 50 deletions
diff --git a/src/test/ui/specialization/issue-39448.rs b/src/test/ui/specialization/issue-39448.rs
deleted file mode 100644
index a15c4bd6b..000000000
--- a/src/test/ui/specialization/issue-39448.rs
+++ /dev/null
@@ -1,50 +0,0 @@
-#![feature(specialization)] //~ WARN the feature `specialization` is incomplete
-
-// Regression test for a specialization-related ICE (#39448).
-
-trait A: Sized {
- fn foo(self, _: Self) -> Self {
- self
- }
-}
-
-impl A for u8 {}
-impl A for u16 {}
-
-impl FromA<u8> for u16 {
- fn from(x: u8) -> u16 {
- x as u16
- }
-}
-
-trait FromA<T> {
- fn from(t: T) -> Self;
-}
-
-impl<T: A, U: A + FromA<T>> FromA<T> for U {
- default fn from(x: T) -> Self {
- ToA::to(x)
- }
-}
-
-trait ToA<T> {
- fn to(self) -> T;
-}
-
-impl<T, U> ToA<U> for T
-where
- U: FromA<T>,
-{
- fn to(self) -> U {
- U::from(self)
- }
-}
-
-#[allow(dead_code)]
-fn foo<T: A, U: A>(x: T, y: U) -> U {
- x.foo(y.to()).to() //~ ERROR overflow evaluating the requirement
-}
-
-fn main() {
- let z = foo(8u8, 1u16);
-}