mirror of
https://github.com/rust-lang/rust.git
synced 2025-02-04 02:54:00 +00:00
Update tests
This commit is contained in:
parent
5841c687a3
commit
9cbe3b749d
@ -17,7 +17,7 @@
|
||||
#![feature(specialization)]
|
||||
|
||||
trait Trait<T> { type Assoc; }
|
||||
//~^ cyclic dependency detected [E0391]
|
||||
//~^ cycle detected
|
||||
|
||||
impl<T> Trait<T> for Vec<T> {
|
||||
type Assoc = ();
|
||||
|
@ -8,7 +8,7 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// error-pattern: cyclic dependency detected
|
||||
// error-pattern: cycle detected
|
||||
|
||||
#![feature(const_fn)]
|
||||
|
||||
|
@ -25,7 +25,7 @@ trait Trait { type Item; }
|
||||
struct A<T>
|
||||
where T : Trait,
|
||||
T : Add<T::Item>
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~^ ERROR cycle detected
|
||||
//~| ERROR associated type `Item` not found for `T`
|
||||
{
|
||||
data: T
|
||||
|
@ -12,7 +12,7 @@
|
||||
// again references the trait.
|
||||
|
||||
trait Foo<X = Box<Foo>> {
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~^ ERROR cycle detected
|
||||
}
|
||||
|
||||
fn main() { }
|
||||
|
@ -11,7 +11,7 @@
|
||||
// Test a supertrait cycle where a trait extends itself.
|
||||
|
||||
trait Chromosome: Chromosome {
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~^ ERROR cycle detected
|
||||
}
|
||||
|
||||
fn main() { }
|
||||
|
@ -9,6 +9,6 @@
|
||||
// except according to those terms.
|
||||
|
||||
type x = Vec<x>;
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~^ ERROR cycle detected
|
||||
|
||||
fn main() { let b: x = Vec::new(); }
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
trait T : Iterator<Item=Self::Item>
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~^ ERROR cycle detected
|
||||
//~| ERROR associated type `Item` not found for `Self`
|
||||
{}
|
||||
|
||||
|
@ -13,7 +13,7 @@ pub trait Subscriber {
|
||||
}
|
||||
|
||||
pub trait Processor: Subscriber<Input = Self::Input> {
|
||||
//~^ ERROR cyclic dependency detected [E0391]
|
||||
//~^ ERROR cycle detected
|
||||
type Input;
|
||||
}
|
||||
|
||||
|
@ -14,7 +14,7 @@ trait Trait {
|
||||
}
|
||||
|
||||
fn foo<T: Trait<A = T::B>>() { }
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~^ ERROR cycle detected
|
||||
//~| ERROR associated type `B` not found for `T`
|
||||
|
||||
fn main() { }
|
||||
|
@ -9,7 +9,7 @@
|
||||
// except according to those terms.
|
||||
|
||||
trait Expr : PartialEq<Self::Item> {
|
||||
//~^ ERROR: cyclic dependency detected
|
||||
//~^ ERROR: cycle detected
|
||||
type Item;
|
||||
}
|
||||
|
||||
|
@ -8,11 +8,9 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// error-pattern: cyclic dependency detected
|
||||
// note-pattern: the cycle begins when computing layout of
|
||||
// note-pattern: ...which then requires computing layout of
|
||||
// note-pattern: ...which then again requires computing layout of
|
||||
|
||||
// error-pattern: cycle detected when computing layout of
|
||||
// note-pattern: ...which requires computing layout of
|
||||
// note-pattern: ...which again requires computing layout of
|
||||
|
||||
trait Mirror { type It: ?Sized; }
|
||||
impl<T: ?Sized> Mirror for T { type It = Self; }
|
||||
|
@ -14,8 +14,8 @@ trait Trait<T> {
|
||||
fn foo(_: T) {}
|
||||
}
|
||||
|
||||
pub struct Foo<T = Box<Trait<DefaultFoo>>>;
|
||||
type DefaultFoo = Foo; //~ ERROR cyclic dependency detected
|
||||
pub struct Foo<T = Box<Trait<DefaultFoo>>>; //~ ERROR cycle detected
|
||||
type DefaultFoo = Foo;
|
||||
|
||||
fn main() {
|
||||
}
|
||||
|
@ -8,6 +8,8 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// error-pattern: cycle detected when computing layout of
|
||||
|
||||
#![feature(const_fn)]
|
||||
#![feature(core_intrinsics)]
|
||||
|
||||
@ -15,7 +17,6 @@ use std::intrinsics;
|
||||
|
||||
struct Foo {
|
||||
bytes: [u8; unsafe { intrinsics::size_of::<Foo>() }],
|
||||
//~^ ERROR cyclic dependency detected
|
||||
x: usize,
|
||||
}
|
||||
|
||||
|
@ -21,10 +21,10 @@ impl Tr for S where Self: Copy {} // OK
|
||||
impl Tr for S where S<Self>: Copy {} // OK
|
||||
impl Tr for S where Self::A: Copy {} // OK
|
||||
|
||||
impl Tr for Self {} //~ ERROR cyclic dependency detected
|
||||
impl Tr for S<Self> {} //~ ERROR cyclic dependency detected
|
||||
impl Self {} //~ ERROR cyclic dependency detected
|
||||
impl S<Self> {} //~ ERROR cyclic dependency detected
|
||||
impl Tr<Self::A> for S {} //~ ERROR cyclic dependency detected
|
||||
impl Tr for Self {} //~ ERROR cycle detected
|
||||
impl Tr for S<Self> {} //~ ERROR cycle detected
|
||||
impl Self {} //~ ERROR cycle detected
|
||||
impl S<Self> {} //~ ERROR cycle detected
|
||||
impl Tr<Self::A> for S {} //~ ERROR cycle detected
|
||||
|
||||
fn main() {}
|
||||
|
@ -15,10 +15,9 @@ trait A: B {
|
||||
}
|
||||
|
||||
trait B: C {
|
||||
//~^ ERROR cycle detected
|
||||
}
|
||||
|
||||
trait C: B { }
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~| cyclic reference
|
||||
|
||||
fn main() { }
|
||||
|
@ -1,20 +1,20 @@
|
||||
error[E0391]: cyclic dependency detected
|
||||
--> $DIR/cycle-trait-supertrait-indirect.rs:20:1
|
||||
|
|
||||
LL | trait C: B { }
|
||||
| ^^^^^^^^^^ cyclic reference
|
||||
|
|
||||
note: the cycle begins when computing the supertraits of `B`...
|
||||
--> $DIR/cycle-trait-supertrait-indirect.rs:14:1
|
||||
|
|
||||
LL | trait A: B {
|
||||
| ^^^^^^^^^^
|
||||
note: ...which then requires computing the supertraits of `C`...
|
||||
error[E0391]: cycle detected when computing the supertraits of `B`
|
||||
--> $DIR/cycle-trait-supertrait-indirect.rs:17:1
|
||||
|
|
||||
LL | trait B: C {
|
||||
| ^^^^^^^^^^
|
||||
= note: ...which then again requires computing the supertraits of `B`, completing the cycle.
|
||||
|
|
||||
note: ...which requires computing the supertraits of `C`...
|
||||
--> $DIR/cycle-trait-supertrait-indirect.rs:21:1
|
||||
|
|
||||
LL | trait C: B { }
|
||||
| ^^^^^^^^^^
|
||||
= note: ...which again requires computing the supertraits of `B`, completing the cycle
|
||||
note: cycle used when computing the supertraits of `A`
|
||||
--> $DIR/cycle-trait-supertrait-indirect.rs:14:1
|
||||
|
|
||||
LL | trait A: B {
|
||||
| ^^^^^^^^^^
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -40,8 +40,7 @@ fn after() -> impl Fn(i32) {
|
||||
// independently resolved and only require the concrete
|
||||
// return type, which can't depend on the obligation.
|
||||
fn cycle1() -> impl Clone {
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~| cyclic reference
|
||||
//~^ ERROR cycle detected
|
||||
send(cycle2().clone());
|
||||
|
||||
Rc::new(Cell::new(5))
|
||||
|
@ -28,33 +28,29 @@ note: required by `send`
|
||||
LL | fn send<T: Send>(_: T) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
error[E0391]: cyclic dependency detected
|
||||
--> $DIR/auto-trait-leak.rs:42:1
|
||||
|
|
||||
LL | fn cycle1() -> impl Clone {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^ cyclic reference
|
||||
|
|
||||
note: the cycle begins when processing `cycle1`...
|
||||
error[E0391]: cycle detected when processing `cycle1`
|
||||
--> $DIR/auto-trait-leak.rs:42:1
|
||||
|
|
||||
LL | fn cycle1() -> impl Clone {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which then requires processing `cycle2::{{impl-Trait}}`...
|
||||
--> $DIR/auto-trait-leak.rs:50:16
|
||||
|
|
||||
note: ...which requires processing `cycle2::{{impl-Trait}}`...
|
||||
--> $DIR/auto-trait-leak.rs:49:16
|
||||
|
|
||||
LL | fn cycle2() -> impl Clone {
|
||||
| ^^^^^^^^^^
|
||||
note: ...which then requires processing `cycle2`...
|
||||
--> $DIR/auto-trait-leak.rs:50:1
|
||||
note: ...which requires processing `cycle2`...
|
||||
--> $DIR/auto-trait-leak.rs:49:1
|
||||
|
|
||||
LL | fn cycle2() -> impl Clone {
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which then requires processing `cycle1::{{impl-Trait}}`...
|
||||
note: ...which requires processing `cycle1::{{impl-Trait}}`...
|
||||
--> $DIR/auto-trait-leak.rs:42:16
|
||||
|
|
||||
LL | fn cycle1() -> impl Clone {
|
||||
| ^^^^^^^^^^
|
||||
= note: ...which then again requires processing `cycle1`, completing the cycle.
|
||||
= note: ...which again requires processing `cycle1`, completing the cycle
|
||||
note: cycle used when type-checking all item bodies
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
|
@ -9,11 +9,10 @@
|
||||
// except according to those terms.
|
||||
|
||||
trait t1 : t2 {
|
||||
//~^ ERROR cycle detected
|
||||
}
|
||||
|
||||
trait t2 : t1 {
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~| cyclic reference
|
||||
}
|
||||
|
||||
fn main() { }
|
||||
|
@ -1,20 +1,15 @@
|
||||
error[E0391]: cyclic dependency detected
|
||||
--> $DIR/issue-12511.rs:14:1
|
||||
error[E0391]: cycle detected when computing the supertraits of `t1`
|
||||
--> $DIR/issue-12511.rs:11:1
|
||||
|
|
||||
LL | trait t1 : t2 {
|
||||
| ^^^^^^^^^^^^^
|
||||
|
|
||||
note: ...which requires computing the supertraits of `t2`...
|
||||
--> $DIR/issue-12511.rs:15:1
|
||||
|
|
||||
LL | trait t2 : t1 {
|
||||
| ^^^^^^^^^^^^^ cyclic reference
|
||||
|
|
||||
note: the cycle begins when computing the supertraits of `t1`...
|
||||
--> $DIR/issue-12511.rs:11:1
|
||||
|
|
||||
LL | trait t1 : t2 {
|
||||
| ^^^^^^^^^^^^^
|
||||
note: ...which then requires computing the supertraits of `t2`...
|
||||
--> $DIR/issue-12511.rs:11:1
|
||||
|
|
||||
LL | trait t1 : t2 {
|
||||
| ^^^^^^^^^^^^^
|
||||
= note: ...which then again requires computing the supertraits of `t1`, completing the cycle.
|
||||
= note: ...which again requires computing the supertraits of `t1`, completing the cycle
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -1,20 +1,11 @@
|
||||
error[E0391]: cyclic dependency detected
|
||||
--> $DIR/issue-23302-1.rs:14:9
|
||||
|
|
||||
LL | A = X::A as isize, //~ ERROR E0391
|
||||
| ^^^^^^^^^^^^^ cyclic reference
|
||||
|
|
||||
note: the cycle begins when const-evaluating `X::A::{{initializer}}`...
|
||||
--> $DIR/issue-23302-1.rs:14:9
|
||||
|
|
||||
LL | A = X::A as isize, //~ ERROR E0391
|
||||
| ^^^^^^^^^^^^^
|
||||
note: ...which then requires computing layout of `X`...
|
||||
error[E0391]: cycle detected when const-evaluating `X::A::{{initializer}}`
|
||||
--> $DIR/issue-23302-1.rs:14:9
|
||||
|
|
||||
LL | A = X::A as isize, //~ ERROR E0391
|
||||
| ^^^^
|
||||
= note: ...which then again requires const-evaluating `X::A::{{initializer}}`, completing the cycle.
|
||||
|
|
||||
note: ...which requires computing layout of `X`...
|
||||
= note: ...which again requires const-evaluating `X::A::{{initializer}}`, completing the cycle
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -1,20 +1,11 @@
|
||||
error[E0391]: cyclic dependency detected
|
||||
--> $DIR/issue-23302-2.rs:14:9
|
||||
|
|
||||
LL | A = Y::B as isize, //~ ERROR E0391
|
||||
| ^^^^^^^^^^^^^ cyclic reference
|
||||
|
|
||||
note: the cycle begins when const-evaluating `Y::A::{{initializer}}`...
|
||||
--> $DIR/issue-23302-2.rs:14:9
|
||||
|
|
||||
LL | A = Y::B as isize, //~ ERROR E0391
|
||||
| ^^^^^^^^^^^^^
|
||||
note: ...which then requires computing layout of `Y`...
|
||||
error[E0391]: cycle detected when const-evaluating `Y::A::{{initializer}}`
|
||||
--> $DIR/issue-23302-2.rs:14:9
|
||||
|
|
||||
LL | A = Y::B as isize, //~ ERROR E0391
|
||||
| ^^^^
|
||||
= note: ...which then again requires const-evaluating `Y::A::{{initializer}}`, completing the cycle.
|
||||
|
|
||||
note: ...which requires computing layout of `Y`...
|
||||
= note: ...which again requires const-evaluating `Y::A::{{initializer}}`, completing the cycle
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -8,8 +8,8 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
const A: i32 = B;
|
||||
const A: i32 = B; //~ ERROR cycle detected
|
||||
|
||||
const B: i32 = A; //~ ERROR cyclic dependency detected
|
||||
const B: i32 = A;
|
||||
|
||||
fn main() { }
|
||||
|
@ -1,30 +1,25 @@
|
||||
error[E0391]: cyclic dependency detected
|
||||
--> $DIR/issue-23302-3.rs:13:16
|
||||
|
|
||||
LL | const B: i32 = A; //~ ERROR cyclic dependency detected
|
||||
| ^ cyclic reference
|
||||
|
|
||||
note: the cycle begins when const checking if rvalue is promotable to static `A`...
|
||||
error[E0391]: cycle detected when const checking if rvalue is promotable to static `A`
|
||||
--> $DIR/issue-23302-3.rs:11:1
|
||||
|
|
||||
LL | const A: i32 = B;
|
||||
LL | const A: i32 = B; //~ ERROR cycle detected
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
note: ...which then requires checking which parts of `A` are promotable to static...
|
||||
--> $DIR/issue-23302-3.rs:11:1
|
||||
|
|
||||
LL | const A: i32 = B;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
note: ...which then requires const checking if rvalue is promotable to static `B`...
|
||||
note: ...which requires checking which parts of `A` are promotable to static...
|
||||
--> $DIR/issue-23302-3.rs:11:16
|
||||
|
|
||||
LL | const A: i32 = B;
|
||||
LL | const A: i32 = B; //~ ERROR cycle detected
|
||||
| ^
|
||||
note: ...which then requires checking which parts of `B` are promotable to static...
|
||||
note: ...which requires const checking if rvalue is promotable to static `B`...
|
||||
--> $DIR/issue-23302-3.rs:13:1
|
||||
|
|
||||
LL | const B: i32 = A; //~ ERROR cyclic dependency detected
|
||||
LL | const B: i32 = A;
|
||||
| ^^^^^^^^^^^^^^^^^
|
||||
= note: ...which then again requires const checking if rvalue is promotable to static `A`, completing the cycle.
|
||||
note: ...which requires checking which parts of `B` are promotable to static...
|
||||
--> $DIR/issue-23302-3.rs:13:16
|
||||
|
|
||||
LL | const B: i32 = A;
|
||||
| ^
|
||||
= note: ...which again requires const checking if rvalue is promotable to static `A`, completing the cycle
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -1,30 +1,21 @@
|
||||
error[E0391]: cyclic dependency detected
|
||||
--> $DIR/issue-36163.rs:14:9
|
||||
|
|
||||
LL | B = A, //~ ERROR E0391
|
||||
| ^ cyclic reference
|
||||
|
|
||||
note: the cycle begins when const-evaluating `Foo::B::{{initializer}}`...
|
||||
error[E0391]: cycle detected when const-evaluating `Foo::B::{{initializer}}`
|
||||
--> $DIR/issue-36163.rs:14:9
|
||||
|
|
||||
LL | B = A, //~ ERROR E0391
|
||||
| ^
|
||||
note: ...which then requires processing `Foo::B::{{initializer}}`...
|
||||
|
|
||||
note: ...which requires processing `Foo::B::{{initializer}}`...
|
||||
--> $DIR/issue-36163.rs:14:9
|
||||
|
|
||||
LL | B = A, //~ ERROR E0391
|
||||
| ^
|
||||
note: ...which then requires const-evaluating `A`...
|
||||
--> $DIR/issue-36163.rs:11:1
|
||||
|
|
||||
LL | const A: isize = Foo::B as isize;
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
note: ...which then requires computing layout of `Foo`...
|
||||
note: ...which requires const-evaluating `A`...
|
||||
--> $DIR/issue-36163.rs:11:18
|
||||
|
|
||||
LL | const A: isize = Foo::B as isize;
|
||||
| ^^^^^^
|
||||
= note: ...which then again requires const-evaluating `Foo::B::{{initializer}}`, completing the cycle.
|
||||
note: ...which requires computing layout of `Foo`...
|
||||
= note: ...which again requires const-evaluating `Foo::B::{{initializer}}`, completing the cycle
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
@ -13,6 +13,6 @@ pub trait ToNbt<T> {
|
||||
}
|
||||
|
||||
impl ToNbt<Self> {}
|
||||
//~^ ERROR cyclic dependency detected
|
||||
//~^ ERROR cycle detected
|
||||
|
||||
fn main() {}
|
||||
|
@ -1,15 +1,10 @@
|
||||
error[E0391]: cyclic dependency detected
|
||||
error[E0391]: cycle detected when processing `<impl at $DIR/issue-23305.rs:15:1: 15:20>`
|
||||
--> $DIR/issue-23305.rs:15:12
|
||||
|
|
||||
LL | impl ToNbt<Self> {}
|
||||
| ^^^^ cyclic reference
|
||||
| ^^^^
|
||||
|
|
||||
note: the cycle begins when processing `<impl at $DIR/issue-23305.rs:15:1: 15:20>`...
|
||||
--> $DIR/issue-23305.rs:15:1
|
||||
|
|
||||
LL | impl ToNbt<Self> {}
|
||||
| ^^^^^^^^^^^^^^^^
|
||||
= note: ...which then again requires processing `<impl at $DIR/issue-23305.rs:15:1: 15:20>`, completing the cycle.
|
||||
= note: ...which again requires processing `<impl at $DIR/issue-23305.rs:15:1: 15:20>`, completing the cycle
|
||||
|
||||
error: aborting due to previous error
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user