remove unnecessary revisions
This commit is contained in:
parent
d93e047c9f
commit
69fdd1457d
@ -1,23 +0,0 @@
|
||||
error[E0592]: duplicate definitions with name `dummy`
|
||||
--> $DIR/coherence-overlap-downstream-inherent.rs:10:26
|
||||
|
|
||||
LL | impl<T:Sugar> Sweet<T> { fn dummy(&self) { } }
|
||||
| ^^^^^^^^^^^^^^^ duplicate definitions for `dummy`
|
||||
LL |
|
||||
LL | impl<T:Fruit> Sweet<T> { fn dummy(&self) { } }
|
||||
| --------------- other definition for `dummy`
|
||||
|
||||
error[E0592]: duplicate definitions with name `f`
|
||||
--> $DIR/coherence-overlap-downstream-inherent.rs:16:38
|
||||
|
|
||||
LL | impl<X, T> A<T, X> where T: Bar<X> { fn f(&self) {} }
|
||||
| ^^^^^^^^^^^ duplicate definitions for `f`
|
||||
LL |
|
||||
LL | impl<X> A<i32, X> { fn f(&self) {} }
|
||||
| ----------- other definition for `f`
|
||||
|
|
||||
= note: downstream crates may implement trait `Bar<_>` for type `i32`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0592`.
|
@ -1,6 +1,3 @@
|
||||
//@ revisions: old next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
// Tests that we consider `T: Sugar + Fruit` to be ambiguous, even
|
||||
// though no impls are found.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0592]: duplicate definitions with name `dummy`
|
||||
--> $DIR/coherence-overlap-downstream-inherent.rs:10:26
|
||||
--> $DIR/coherence-overlap-downstream-inherent.rs:7:26
|
||||
|
|
||||
LL | impl<T:Sugar> Sweet<T> { fn dummy(&self) { } }
|
||||
| ^^^^^^^^^^^^^^^ duplicate definitions for `dummy`
|
||||
@ -8,7 +8,7 @@ LL | impl<T:Fruit> Sweet<T> { fn dummy(&self) { } }
|
||||
| --------------- other definition for `dummy`
|
||||
|
||||
error[E0592]: duplicate definitions with name `f`
|
||||
--> $DIR/coherence-overlap-downstream-inherent.rs:16:38
|
||||
--> $DIR/coherence-overlap-downstream-inherent.rs:13:38
|
||||
|
|
||||
LL | impl<X, T> A<T, X> where T: Bar<X> { fn f(&self) {} }
|
||||
| ^^^^^^^^^^^ duplicate definitions for `f`
|
@ -1,21 +0,0 @@
|
||||
error[E0119]: conflicting implementations of trait `Sweet`
|
||||
--> $DIR/coherence-overlap-downstream.rs:11:1
|
||||
|
|
||||
LL | impl<T:Sugar> Sweet for T { }
|
||||
| ------------------------- first implementation here
|
||||
LL | impl<T:Fruit> Sweet for T { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
|
||||
|
||||
error[E0119]: conflicting implementations of trait `Foo<_>` for type `i32`
|
||||
--> $DIR/coherence-overlap-downstream.rs:17:1
|
||||
|
|
||||
LL | impl<X, T> Foo<X> for T where T: Bar<X> {}
|
||||
| --------------------------------------- first implementation here
|
||||
LL | impl<X> Foo<X> for i32 {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `i32`
|
||||
|
|
||||
= note: downstream crates may implement trait `Bar<_>` for type `i32`
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0119`.
|
@ -1,6 +1,3 @@
|
||||
//@ revisions: old next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
// Tests that we consider `T: Sugar + Fruit` to be ambiguous, even
|
||||
// though no impls are found.
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0119]: conflicting implementations of trait `Sweet`
|
||||
--> $DIR/coherence-overlap-downstream.rs:11:1
|
||||
--> $DIR/coherence-overlap-downstream.rs:8:1
|
||||
|
|
||||
LL | impl<T:Sugar> Sweet for T { }
|
||||
| ------------------------- first implementation here
|
||||
@ -7,7 +7,7 @@ LL | impl<T:Fruit> Sweet for T { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
|
||||
|
||||
error[E0119]: conflicting implementations of trait `Foo<_>` for type `i32`
|
||||
--> $DIR/coherence-overlap-downstream.rs:17:1
|
||||
--> $DIR/coherence-overlap-downstream.rs:14:1
|
||||
|
|
||||
LL | impl<X, T> Foo<X> for T where T: Bar<X> {}
|
||||
| --------------------------------------- first implementation here
|
@ -1,14 +0,0 @@
|
||||
error[E0592]: duplicate definitions with name `dummy`
|
||||
--> $DIR/coherence-overlap-issue-23516-inherent.rs:12:25
|
||||
|
|
||||
LL | impl<T:Sugar> Cake<T> { fn dummy(&self) { } }
|
||||
| ^^^^^^^^^^^^^^^ duplicate definitions for `dummy`
|
||||
LL |
|
||||
LL | impl<U:Sugar> Cake<Box<U>> { fn dummy(&self) { } }
|
||||
| --------------- other definition for `dummy`
|
||||
|
|
||||
= note: downstream crates may implement trait `Sugar` for type `std::boxed::Box<_>`
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0592`.
|
@ -1,6 +1,3 @@
|
||||
//@ revisions: old next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
// Tests that we consider `Box<U>: !Sugar` to be ambiguous, even
|
||||
// though we see no impl of `Sugar` for `Box`. Therefore, an overlap
|
||||
// error is reported for the following pair of impls (#23516).
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0592]: duplicate definitions with name `dummy`
|
||||
--> $DIR/coherence-overlap-issue-23516-inherent.rs:12:25
|
||||
--> $DIR/coherence-overlap-issue-23516-inherent.rs:9:25
|
||||
|
|
||||
LL | impl<T:Sugar> Cake<T> { fn dummy(&self) { } }
|
||||
| ^^^^^^^^^^^^^^^ duplicate definitions for `dummy`
|
@ -1,13 +0,0 @@
|
||||
error[E0119]: conflicting implementations of trait `Sweet` for type `Box<_>`
|
||||
--> $DIR/coherence-overlap-issue-23516.rs:11:1
|
||||
|
|
||||
LL | impl<T:Sugar> Sweet for T { }
|
||||
| ------------------------- first implementation here
|
||||
LL | impl<U:Sugar> Sweet for Box<U> { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
|
||||
|
|
||||
= note: downstream crates may implement trait `Sugar` for type `std::boxed::Box<_>`
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0119`.
|
@ -1,6 +1,3 @@
|
||||
//@ revisions: old next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
// Tests that we consider `Box<U>: !Sugar` to be ambiguous, even
|
||||
// though we see no impl of `Sugar` for `Box`. Therefore, an overlap
|
||||
// error is reported for the following pair of impls (#23516).
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0119]: conflicting implementations of trait `Sweet` for type `Box<_>`
|
||||
--> $DIR/coherence-overlap-issue-23516.rs:11:1
|
||||
--> $DIR/coherence-overlap-issue-23516.rs:8:1
|
||||
|
|
||||
LL | impl<T:Sugar> Sweet for T { }
|
||||
| ------------------------- first implementation here
|
@ -1,18 +0,0 @@
|
||||
error[E0119]: conflicting implementations of trait `Trait` for type `Box<_>`
|
||||
--> $DIR/coherence-overlap-unnormalizable-projection-0.rs:27:1
|
||||
|
|
||||
LL | / impl<T> Trait for T
|
||||
LL | | where
|
||||
LL | | T: 'static,
|
||||
LL | | for<'a> T: WithAssoc<'a>,
|
||||
LL | | for<'a> <T as WithAssoc<'a>>::Assoc: WhereBound,
|
||||
| |____________________________________________________- first implementation here
|
||||
...
|
||||
LL | impl<T> Trait for Box<T> {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
|
||||
|
|
||||
= note: downstream crates may implement trait `WithAssoc<'a>` for type `std::boxed::Box<_>`
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0119`.
|
@ -2,9 +2,6 @@
|
||||
// "Coherence incorrectly considers `unnormalizable_projection: Trait` to not hold even if it could"
|
||||
#![crate_type = "lib"]
|
||||
|
||||
//@ revisions: classic next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
trait WhereBound {}
|
||||
impl WhereBound for () {}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0119]: conflicting implementations of trait `Trait` for type `Box<_>`
|
||||
--> $DIR/coherence-overlap-unnormalizable-projection-0.rs:27:1
|
||||
--> $DIR/coherence-overlap-unnormalizable-projection-0.rs:24:1
|
||||
|
|
||||
LL | / impl<T> Trait for T
|
||||
LL | | where
|
@ -1,19 +0,0 @@
|
||||
error[E0119]: conflicting implementations of trait `Trait` for type `Box<_>`
|
||||
--> $DIR/coherence-overlap-unnormalizable-projection-1.rs:26:1
|
||||
|
|
||||
LL | / impl<T> Trait for T
|
||||
LL | | where
|
||||
LL | | T: 'static,
|
||||
LL | | for<'a> T: WithAssoc<'a>,
|
||||
LL | | for<'a> Box<<T as WithAssoc<'a>>::Assoc>: WhereBound,
|
||||
| |_________________________________________________________- first implementation here
|
||||
...
|
||||
LL | impl<T> Trait for Box<T> {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `Box<_>`
|
||||
|
|
||||
= note: downstream crates may implement trait `WithAssoc<'a>` for type `std::boxed::Box<_>`
|
||||
= note: downstream crates may implement trait `WhereBound` for type `std::boxed::Box<_>`
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0119`.
|
@ -2,9 +2,6 @@
|
||||
// "Coherence incorrectly considers `unnormalizable_projection: Trait` to not hold even if it could"
|
||||
#![crate_type = "lib"]
|
||||
|
||||
//@ revisions: classic next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
pub trait WhereBound {}
|
||||
impl WhereBound for () {}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0119]: conflicting implementations of trait `Trait` for type `Box<_>`
|
||||
--> $DIR/coherence-overlap-unnormalizable-projection-1.rs:26:1
|
||||
--> $DIR/coherence-overlap-unnormalizable-projection-1.rs:23:1
|
||||
|
|
||||
LL | / impl<T> Trait for T
|
||||
LL | | where
|
@ -1,6 +1,4 @@
|
||||
//@ compile-flags: -Znext-solver=coherence
|
||||
//@ check-pass
|
||||
|
||||
trait Mirror {
|
||||
type Assoc;
|
||||
}
|
||||
|
@ -1,5 +1,3 @@
|
||||
//@ compile-flags: -Znext-solver=coherence
|
||||
|
||||
trait Mirror {
|
||||
type Assoc;
|
||||
}
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0119]: conflicting implementations of trait `Foo` for type `()`
|
||||
--> $DIR/incoherent-even-though-we-fulfill.rs:17:1
|
||||
--> $DIR/incoherent-even-though-we-fulfill.rs:15:1
|
||||
|
|
||||
LL | impl<T> Foo for T where (): Mirror<Assoc = T> {}
|
||||
| --------------------------------------------- first implementation here
|
||||
|
@ -1,17 +0,0 @@
|
||||
error[E0119]: conflicting implementations of trait `From<()>` for type `S`
|
||||
--> $DIR/inter-crate-ambiguity-causes-notes.rs:12:1
|
||||
|
|
||||
LL | impl From<()> for S {
|
||||
| ------------------- first implementation here
|
||||
...
|
||||
LL | / impl<I> From<I> for S
|
||||
LL | |
|
||||
LL | | where
|
||||
LL | | I: Iterator<Item = ()>,
|
||||
| |___________________________^ conflicting implementation for `S`
|
||||
|
|
||||
= note: upstream crates may add a new impl of trait `std::iter::Iterator` for type `()` in future versions
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0119`.
|
@ -1,6 +1,3 @@
|
||||
//@ revisions: old next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
struct S;
|
||||
|
||||
impl From<()> for S {
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0119]: conflicting implementations of trait `From<()>` for type `S`
|
||||
--> $DIR/inter-crate-ambiguity-causes-notes.rs:12:1
|
||||
--> $DIR/inter-crate-ambiguity-causes-notes.rs:9:1
|
||||
|
|
||||
LL | impl From<()> for S {
|
||||
| ------------------- first implementation here
|
@ -1,15 +0,0 @@
|
||||
error[E0119]: conflicting implementations of trait `MyTrait<_>` for type `(Box<(MyType,)>, <_ as Iterator>::Item)`
|
||||
--> $DIR/normalize-for-errors.rs:17:1
|
||||
|
|
||||
LL | impl<T: Copy, S: Iterator> MyTrait<S> for (T, S::Item) {}
|
||||
| ------------------------------------------------------ first implementation here
|
||||
LL |
|
||||
LL | impl<S: Iterator> MyTrait<S> for (Box<<(MyType,) as Mirror>::Assoc>, S::Item) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(Box<(MyType,)>, <_ as Iterator>::Item)`
|
||||
|
|
||||
= note: upstream crates may add a new impl of trait `std::clone::Clone` for type `(MyType,)` in future versions
|
||||
= note: upstream crates may add a new impl of trait `std::marker::Copy` for type `std::boxed::Box<(MyType,)>` in future versions
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0119`.
|
@ -1,15 +0,0 @@
|
||||
error[E0119]: conflicting implementations of trait `MyTrait<_>` for type `(Box<(MyType,)>, <_ as Iterator>::Item)`
|
||||
--> $DIR/normalize-for-errors.rs:17:1
|
||||
|
|
||||
LL | impl<T: Copy, S: Iterator> MyTrait<S> for (T, S::Item) {}
|
||||
| ------------------------------------------------------ first implementation here
|
||||
LL |
|
||||
LL | impl<S: Iterator> MyTrait<S> for (Box<<(MyType,) as Mirror>::Assoc>, S::Item) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation for `(Box<(MyType,)>, <_ as Iterator>::Item)`
|
||||
|
|
||||
= note: upstream crates may add a new impl of trait `std::clone::Clone` for type `std::boxed::Box<(MyType,)>` in future versions
|
||||
= note: upstream crates may add a new impl of trait `std::marker::Copy` for type `std::boxed::Box<(MyType,)>` in future versions
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0119`.
|
@ -3,7 +3,7 @@
|
||||
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
|
||||
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
|
||||
error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), ())>` for type `for<'a> fn(&'a (), ())`
|
||||
--> $DIR/associated-type.rs:31:1
|
||||
--> $DIR/associated-type.rs:32:1
|
||||
|
|
||||
LL | impl<T> Overlap<T> for T {
|
||||
| ------------------------ first implementation here
|
||||
@ -17,7 +17,7 @@ LL | | for<'a> *const T: ToUnit<'a>,
|
||||
= note: this behavior recently changed as a result of a bug fix; see rust-lang/rust#56105 for details
|
||||
|
||||
error[E0284]: type annotations needed: cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`
|
||||
--> $DIR/associated-type.rs:44:59
|
||||
--> $DIR/associated-type.rs:45:59
|
||||
|
|
||||
LL | foo::<for<'a> fn(&'a (), ()), for<'a> fn(&'a (), ())>(3usize);
|
||||
| ^^^^^^ cannot normalize `<for<'a> fn(&'a (), ()) as Overlap<for<'a> fn(&'a (), ())>>::Assoc`
|
||||
|
@ -3,7 +3,7 @@
|
||||
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
|
||||
WARN rustc_infer::infer::relate::generalize may incompletely handle alias type: AliasTy { args: [*const ?1t, '^0.Named(DefId(0:27 ~ associated_type[f554]::{impl#3}::'a#1), "'a")], def_id: DefId(0:5 ~ associated_type[f554]::ToUnit::Unit), .. }
|
||||
error[E0119]: conflicting implementations of trait `Overlap<for<'a> fn(&'a (), ())>` for type `for<'a> fn(&'a (), ())`
|
||||
--> $DIR/associated-type.rs:31:1
|
||||
--> $DIR/associated-type.rs:32:1
|
||||
|
|
||||
LL | impl<T> Overlap<T> for T {
|
||||
| ------------------------ first implementation here
|
||||
|
@ -1,4 +1,5 @@
|
||||
//@ revisions: old next
|
||||
//@ ignore-compare-mode-next-solver (explicit revisions)
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
// A regression test for #105787
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0119]: conflicting implementations of trait `Trait<_>`
|
||||
--> $DIR/opaques.rs:27:1
|
||||
--> $DIR/opaques.rs:28:1
|
||||
|
|
||||
LL | impl<T> Trait<T> for T {
|
||||
| ---------------------- first implementation here
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0119]: conflicting implementations of trait `Trait<_>`
|
||||
--> $DIR/opaques.rs:27:1
|
||||
--> $DIR/opaques.rs:28:1
|
||||
|
|
||||
LL | impl<T> Trait<T> for T {
|
||||
| ---------------------- first implementation here
|
||||
@ -8,7 +8,7 @@ LL | impl<T> Trait<T> for defining_scope::Alias<T> {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ conflicting implementation
|
||||
|
||||
error[E0282]: type annotations needed
|
||||
--> $DIR/opaques.rs:10:20
|
||||
--> $DIR/opaques.rs:11:20
|
||||
|
|
||||
LL | pub fn cast<T>(x: Container<Alias<T>, T>) -> Container<T, T> {
|
||||
| ^ cannot infer type
|
||||
|
@ -1,4 +1,5 @@
|
||||
//@revisions: current next
|
||||
//@ revisions: current next
|
||||
//@ ignore-compare-mode-next-solver (explicit revisions)
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
// A regression test for #105787
|
||||
|
@ -1,21 +0,0 @@
|
||||
error[E0210]: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
--> $DIR/orphan-check-opaque-types-not-covering.rs:17:6
|
||||
|
|
||||
LL | impl<T> foreign::Trait0<Local, T, ()> for Identity<T> {}
|
||||
| ^ type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
|
|
||||
= note: implementing a foreign trait is only possible if at least one of the types for which it is implemented is local, and no uncovered type parameters appear before that first local type
|
||||
= note: in this case, 'before' refers to the following order: `impl<..> ForeignTrait<T1, ..., Tn> for T0`, where `T0` is the first and `Tn` is the last
|
||||
|
||||
error[E0210]: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
--> $DIR/orphan-check-opaque-types-not-covering.rs:26:6
|
||||
|
|
||||
LL | impl<T> foreign::Trait1<Local, T> for Opaque<T> {}
|
||||
| ^ type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
|
|
||||
= note: implementing a foreign trait is only possible if at least one of the types for which it is implemented is local, and no uncovered type parameters appear before that first local type
|
||||
= note: in this case, 'before' refers to the following order: `impl<..> ForeignTrait<T1, ..., Tn> for T0`, where `T0` is the first and `Tn` is the last
|
||||
|
||||
error: aborting due to 2 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0210`.
|
@ -1,8 +1,5 @@
|
||||
// Opaque types never cover type parameters.
|
||||
|
||||
//@ revisions: classic next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
//@ aux-crate:foreign=parametrized-trait.rs
|
||||
//@ edition:2021
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0210]: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
--> $DIR/orphan-check-opaque-types-not-covering.rs:17:6
|
||||
--> $DIR/orphan-check-opaque-types-not-covering.rs:14:6
|
||||
|
|
||||
LL | impl<T> foreign::Trait0<Local, T, ()> for Identity<T> {}
|
||||
| ^ type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
@ -8,7 +8,7 @@ LL | impl<T> foreign::Trait0<Local, T, ()> for Identity<T> {}
|
||||
= note: in this case, 'before' refers to the following order: `impl<..> ForeignTrait<T1, ..., Tn> for T0`, where `T0` is the first and `Tn` is the last
|
||||
|
||||
error[E0210]: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
--> $DIR/orphan-check-opaque-types-not-covering.rs:26:6
|
||||
--> $DIR/orphan-check-opaque-types-not-covering.rs:23:6
|
||||
|
|
||||
LL | impl<T> foreign::Trait1<Local, T> for Opaque<T> {}
|
||||
| ^ type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
@ -5,9 +5,6 @@
|
||||
// first which would've lead to real-word regressions.
|
||||
|
||||
//@ check-pass
|
||||
//@ revisions: classic next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
//@ aux-crate:foreign=parametrized-trait.rs
|
||||
//@ edition:2021
|
||||
|
||||
|
@ -1,12 +0,0 @@
|
||||
error[E0210]: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
--> $DIR/orphan-check-weak-aliases-not-covering.rs:16:6
|
||||
|
|
||||
LL | impl<T> foreign::Trait1<Local, T> for Identity<T> {}
|
||||
| ^ type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
|
|
||||
= note: implementing a foreign trait is only possible if at least one of the types for which it is implemented is local, and no uncovered type parameters appear before that first local type
|
||||
= note: in this case, 'before' refers to the following order: `impl<..> ForeignTrait<T1, ..., Tn> for T0`, where `T0` is the first and `Tn` is the last
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0210`.
|
@ -1,8 +1,5 @@
|
||||
// Weak aliases might not cover type parameters.
|
||||
|
||||
//@ revisions: classic next
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
|
||||
//@ aux-crate:foreign=parametrized-trait.rs
|
||||
//@ edition:2021
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
error[E0210]: type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
||||
--> $DIR/orphan-check-weak-aliases-not-covering.rs:16:6
|
||||
--> $DIR/orphan-check-weak-aliases-not-covering.rs:13:6
|
||||
|
|
||||
LL | impl<T> foreign::Trait1<Local, T> for Identity<T> {}
|
||||
| ^ type parameter `T` must be covered by another type when it appears before the first local type (`Local`)
|
@ -1,14 +0,0 @@
|
||||
error[E0726]: implicit elided lifetime not allowed here
|
||||
--> $DIR/skip-reporting-if-references-err.rs:10:9
|
||||
|
|
||||
LL | impl<T> ToUnit for T {}
|
||||
| ^^^^^^ expected lifetime parameter
|
||||
|
|
||||
help: indicate the anonymous lifetime
|
||||
|
|
||||
LL | impl<T> ToUnit<'_> for T {}
|
||||
| ++++
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0726`.
|
@ -1,14 +0,0 @@
|
||||
error[E0726]: implicit elided lifetime not allowed here
|
||||
--> $DIR/skip-reporting-if-references-err.rs:10:9
|
||||
|
|
||||
LL | impl<T> ToUnit for T {}
|
||||
| ^^^^^^ expected lifetime parameter
|
||||
|
|
||||
help: indicate the anonymous lifetime
|
||||
|
|
||||
LL | impl<T> ToUnit<'_> for T {}
|
||||
| ++++
|
||||
|
||||
error: aborting due to 1 previous error
|
||||
|
||||
For more information about this error, try `rustc --explain E0726`.
|
@ -9,9 +9,6 @@
|
||||
// which caused the old solver to emit a `Tensor: TensorValue` goal in
|
||||
// `fn normalize_to_error` which then failed, causing this test to pass.
|
||||
|
||||
//@ revisions: current next
|
||||
//@ ignore-compare-mode-next-solver (explicit revisions)
|
||||
//@[next] compile-flags: -Znext-solver
|
||||
//@ check-pass
|
||||
|
||||
pub trait TensorValue {
|
||||
|
Loading…
Reference in New Issue
Block a user