diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-17 12:19:13 +0000 |
commit | 218caa410aa38c29984be31a5229b9fa717560ee (patch) | |
tree | c54bd55eeb6e4c508940a30e94c0032fbd45d677 /src/test/ui/lifetimes/lifetime-errors | |
parent | Releasing progress-linux version 1.67.1+dfsg1-1~progress7.99u1. (diff) | |
download | rustc-218caa410aa38c29984be31a5229b9fa717560ee.tar.xz rustc-218caa410aa38c29984be31a5229b9fa717560ee.zip |
Merging upstream version 1.68.2+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'src/test/ui/lifetimes/lifetime-errors')
76 files changed, 0 insertions, 1029 deletions
diff --git a/src/test/ui/lifetimes/lifetime-errors/42701_one_named_and_one_anonymous.rs b/src/test/ui/lifetimes/lifetime-errors/42701_one_named_and_one_anonymous.rs deleted file mode 100644 index b0c09c751..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/42701_one_named_and_one_anonymous.rs +++ /dev/null @@ -1,14 +0,0 @@ -struct Foo { - field: i32, -} - -fn foo2<'a>(a: &'a Foo, x: &i32) -> &'a i32 { - if true { - let p: &i32 = &a.field; - &*p - } else { - &*x //~ ERROR explicit lifetime - } -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/42701_one_named_and_one_anonymous.stderr b/src/test/ui/lifetimes/lifetime-errors/42701_one_named_and_one_anonymous.stderr deleted file mode 100644 index 63d00875d..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/42701_one_named_and_one_anonymous.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error[E0621]: explicit lifetime required in the type of `x` - --> $DIR/42701_one_named_and_one_anonymous.rs:10:9 - | -LL | fn foo2<'a>(a: &'a Foo, x: &i32) -> &'a i32 { - | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` -... -LL | &*x - | ^^^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.rs b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.rs deleted file mode 100644 index 35f70dd19..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.rs +++ /dev/null @@ -1,20 +0,0 @@ -#[derive(Clone)] -enum Foo<'a> { - Bar(&'a str), -} - -impl<'a> Foo<'a> { - fn bar(&self, other: Foo) -> Foo<'a> { - match *self { - Foo::Bar(s) => { - if s == "test" { - other //~ ERROR explicit lifetime - } else { - self.clone() - } - } - } - } -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.stderr deleted file mode 100644 index 64aa8361c..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-early-bound-in-struct.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error[E0621]: explicit lifetime required in the type of `other` - --> $DIR/ex1-return-one-existing-name-early-bound-in-struct.rs:11:21 - | -LL | fn bar(&self, other: Foo) -> Foo<'a> { - | --- help: add explicit lifetime `'a` to the type of `other`: `Foo<'a>` -... -LL | other - | ^^^^^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-2.rs b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-2.rs deleted file mode 100644 index 9b15b378d..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-2.rs +++ /dev/null @@ -1,5 +0,0 @@ -fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - if x > y { x } else { y } //~ ERROR explicit lifetime -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-2.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-2.stderr deleted file mode 100644 index b40481ecd..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-2.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0621]: explicit lifetime required in the type of `x` - --> $DIR/ex1-return-one-existing-name-if-else-2.rs:2:16 - | -LL | fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` -LL | if x > y { x } else { y } - | ^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-3.rs b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-3.rs deleted file mode 100644 index 6b062125c..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-3.rs +++ /dev/null @@ -1,5 +0,0 @@ -fn foo<'a>((x, y): (&'a i32, &i32)) -> &'a i32 { - if x > y { x } else { y } //~ ERROR explicit lifetime -} - -fn main () { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-3.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-3.stderr deleted file mode 100644 index 194fd9589..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-3.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0621]: explicit lifetime required in parameter type - --> $DIR/ex1-return-one-existing-name-if-else-3.rs:2:27 - | -LL | fn foo<'a>((x, y): (&'a i32, &i32)) -> &'a i32 { - | --------------- help: add explicit lifetime `'a` to type: `(&'a i32, &'a i32)` -LL | if x > y { x } else { y } - | ^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.rs b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.rs deleted file mode 100644 index 7bc3fa623..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.rs +++ /dev/null @@ -1,8 +0,0 @@ -trait Foo { - -fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - if x > y { x } else { y } //~ ERROR explicit lifetime - } -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.stderr deleted file mode 100644 index 64f4bd0fc..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-2.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0621]: explicit lifetime required in the type of `x` - --> $DIR/ex1-return-one-existing-name-if-else-using-impl-2.rs:4:15 - | -LL | fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` -LL | if x > y { x } else { y } - | ^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.rs b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.rs deleted file mode 100644 index a1126d6bb..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.rs +++ /dev/null @@ -1,14 +0,0 @@ -struct Foo { - field: i32 -} - -impl Foo { - fn foo<'a>(&'a self, x: &i32) -> &i32 { - - if true { &self.field } else { x } //~ ERROR explicit lifetime - - } - -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.stderr deleted file mode 100644 index 961f9de66..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl-3.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error[E0621]: explicit lifetime required in the type of `x` - --> $DIR/ex1-return-one-existing-name-if-else-using-impl-3.rs:8:36 - | -LL | fn foo<'a>(&'a self, x: &i32) -> &i32 { - | ---- help: add explicit lifetime `'a` to the type of `x`: `&'a i32` -LL | -LL | if true { &self.field } else { x } - | ^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl.rs b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl.rs deleted file mode 100644 index f0d73deb3..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl.rs +++ /dev/null @@ -1,18 +0,0 @@ -trait Foo { - - fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32; - -} - -impl Foo for () { - - fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - - if x > y { x } else { y } - //~^ ERROR lifetime may not live long enough - - } - -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl.stderr deleted file mode 100644 index 5bb763813..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else-using-impl.stderr +++ /dev/null @@ -1,13 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex1-return-one-existing-name-if-else-using-impl.rs:11:20 - | -LL | fn foo<'a>(x: &i32, y: &'a i32) -> &'a i32 { - | -- - let's call the lifetime of this reference `'1` - | | - | lifetime `'a` defined here -LL | -LL | if x > y { x } else { y } - | ^ associated function was supposed to return data with lifetime `'a` but it is returning data with lifetime `'1` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else.rs b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else.rs deleted file mode 100644 index f72d567bb..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else.rs +++ /dev/null @@ -1,5 +0,0 @@ -fn foo<'a>(x: &'a i32, y: &i32) -> &'a i32 { - if x > y { x } else { y } //~ ERROR explicit lifetime -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else.stderr deleted file mode 100644 index 29a706957..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-if-else.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0621]: explicit lifetime required in the type of `y` - --> $DIR/ex1-return-one-existing-name-if-else.rs:2:27 - | -LL | fn foo<'a>(x: &'a i32, y: &i32) -> &'a i32 { - | ---- help: add explicit lifetime `'a` to the type of `y`: `&'a i32` -LL | if x > y { x } else { y } - | ^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-return-type-is-anon.rs b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-return-type-is-anon.rs deleted file mode 100644 index 49993aca3..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-return-type-is-anon.rs +++ /dev/null @@ -1,15 +0,0 @@ -struct Foo { - field: i32 -} - -impl Foo { - fn foo<'a>(&self, x: &'a i32) -> &i32 { - - x - //~^ ERROR lifetime may not live long enough - - } - -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-return-type-is-anon.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-return-type-is-anon.stderr deleted file mode 100644 index 4bcd7cf95..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-return-type-is-anon.stderr +++ /dev/null @@ -1,13 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex1-return-one-existing-name-return-type-is-anon.rs:8:5 - | -LL | fn foo<'a>(&self, x: &'a i32) -> &i32 { - | -- - let's call the lifetime of this reference `'1` - | | - | lifetime `'a` defined here -LL | -LL | x - | ^ associated function was supposed to return data with lifetime `'1` but it is returning data with lifetime `'a` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-self-is-anon.rs b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-self-is-anon.rs deleted file mode 100644 index 63d81a57d..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-self-is-anon.rs +++ /dev/null @@ -1,14 +0,0 @@ -struct Foo { - field: i32, -} - -impl Foo { - fn foo<'a>(&self, x: &'a Foo) -> &'a Foo { - - if true { x } else { self } - //~^ ERROR lifetime may not live long enough - - } -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-self-is-anon.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-self-is-anon.stderr deleted file mode 100644 index 34a64f8a6..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1-return-one-existing-name-self-is-anon.stderr +++ /dev/null @@ -1,13 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex1-return-one-existing-name-self-is-anon.rs:8:30 - | -LL | fn foo<'a>(&self, x: &'a Foo) -> &'a Foo { - | -- - let's call the lifetime of this reference `'1` - | | - | lifetime `'a` defined here -LL | -LL | if true { x } else { self } - | ^^^^ associated function was supposed to return data with lifetime `'a` but it is returning data with lifetime `'1` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1b-return-no-names-if-else.rs b/src/test/ui/lifetimes/lifetime-errors/ex1b-return-no-names-if-else.rs deleted file mode 100644 index d6c918843..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1b-return-no-names-if-else.rs +++ /dev/null @@ -1,5 +0,0 @@ -fn foo(x: &i32, y: &i32) -> &i32 { //~ ERROR missing lifetime - if x > y { x } else { y } -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex1b-return-no-names-if-else.stderr b/src/test/ui/lifetimes/lifetime-errors/ex1b-return-no-names-if-else.stderr deleted file mode 100644 index bcc3e9510..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex1b-return-no-names-if-else.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error[E0106]: missing lifetime specifier - --> $DIR/ex1b-return-no-names-if-else.rs:1:29 - | -LL | fn foo(x: &i32, y: &i32) -> &i32 { - | ---- ---- ^ expected named lifetime parameter - | - = help: this function's return type contains a borrowed value, but the signature does not say whether it is borrowed from `x` or `y` -help: consider introducing a named lifetime parameter - | -LL | fn foo<'a>(x: &'a i32, y: &'a i32) -> &'a i32 { - | ++++ ++ ++ ++ - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0106`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-2.rs b/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-2.rs deleted file mode 100644 index 998a48ce2..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-2.rs +++ /dev/null @@ -1,9 +0,0 @@ -struct Ref<'a, T: 'a> { - data: &'a T -} - -fn foo<'a>(x: Ref<i32>, y: &mut Vec<Ref<'a, i32>>) { - y.push(x); //~ ERROR explicit lifetime -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-2.stderr b/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-2.stderr deleted file mode 100644 index 90d4754eb..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-2.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0621]: explicit lifetime required in the type of `x` - --> $DIR/ex2a-push-one-existing-name-2.rs:6:5 - | -LL | fn foo<'a>(x: Ref<i32>, y: &mut Vec<Ref<'a, i32>>) { - | -------- help: add explicit lifetime `'a` to the type of `x`: `Ref<'a, i32>` -LL | y.push(x); - | ^^^^^^^^^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-early-bound.rs b/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-early-bound.rs deleted file mode 100644 index d18b50d0d..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-early-bound.rs +++ /dev/null @@ -1,11 +0,0 @@ -trait Foo<'a> {} -impl<'a, T> Foo<'a> for T {} - -fn baz<'a, 'b, T>(x: &mut Vec<&'a T>, y: &T) - where i32: Foo<'a>, - u32: Foo<'b> -{ - x.push(y); //~ ERROR explicit lifetime required -} -fn main() { -} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-early-bound.stderr b/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-early-bound.stderr deleted file mode 100644 index a03e16b3b..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name-early-bound.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error[E0621]: explicit lifetime required in the type of `y` - --> $DIR/ex2a-push-one-existing-name-early-bound.rs:8:5 - | -LL | fn baz<'a, 'b, T>(x: &mut Vec<&'a T>, y: &T) - | -- help: add explicit lifetime `'a` to the type of `y`: `&'a T` -... -LL | x.push(y); - | ^^^^^^^^^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name.rs b/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name.rs deleted file mode 100644 index 5188ea1cc..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name.rs +++ /dev/null @@ -1,9 +0,0 @@ -struct Ref<'a, T: 'a> { - data: &'a T -} - -fn foo<'a>(x: &mut Vec<Ref<'a, i32>>, y: Ref<i32>) { - x.push(y); //~ ERROR explicit lifetime -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name.stderr b/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name.stderr deleted file mode 100644 index 487b34e3d..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2a-push-one-existing-name.stderr +++ /dev/null @@ -1,11 +0,0 @@ -error[E0621]: explicit lifetime required in the type of `y` - --> $DIR/ex2a-push-one-existing-name.rs:6:5 - | -LL | fn foo<'a>(x: &mut Vec<Ref<'a, i32>>, y: Ref<i32>) { - | -------- help: add explicit lifetime `'a` to the type of `y`: `Ref<'a, i32>` -LL | x.push(y); - | ^^^^^^^^^ lifetime `'a` required - -error: aborting due to previous error - -For more information about this error, try `rustc --explain E0621`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2b-push-no-existing-names.rs b/src/test/ui/lifetimes/lifetime-errors/ex2b-push-no-existing-names.rs deleted file mode 100644 index 27424d79b..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2b-push-no-existing-names.rs +++ /dev/null @@ -1,10 +0,0 @@ -struct Ref<'a, T: 'a> { - data: &'a T -} - -fn foo(x: &mut Vec<Ref<i32>>, y: Ref<i32>) { - x.push(y); - //~^ ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2b-push-no-existing-names.stderr b/src/test/ui/lifetimes/lifetime-errors/ex2b-push-no-existing-names.stderr deleted file mode 100644 index 1622ce422..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2b-push-no-existing-names.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex2b-push-no-existing-names.rs:6:5 - | -LL | fn foo(x: &mut Vec<Ref<i32>>, y: Ref<i32>) { - | - - has type `Ref<'1, i32>` - | | - | has type `&mut Vec<Ref<'2, i32>>` -LL | x.push(y); - | ^^^^^^^^^ argument requires that `'1` must outlive `'2` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2c-push-inference-variable.rs b/src/test/ui/lifetimes/lifetime-errors/ex2c-push-inference-variable.rs deleted file mode 100644 index 2236d78ef..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2c-push-inference-variable.rs +++ /dev/null @@ -1,11 +0,0 @@ -struct Ref<'a, T: 'a> { - data: &'a T -} - -fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) { - let z = Ref { data: y.data }; - x.push(z); - //~^ ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2c-push-inference-variable.stderr b/src/test/ui/lifetimes/lifetime-errors/ex2c-push-inference-variable.stderr deleted file mode 100644 index 99fab4631..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2c-push-inference-variable.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex2c-push-inference-variable.rs:7:5 - | -LL | fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) { - | -- -- lifetime `'c` defined here - | | - | lifetime `'b` defined here -LL | let z = Ref { data: y.data }; -LL | x.push(z); - | ^^^^^^^^^ argument requires that `'c` must outlive `'b` - | - = help: consider adding the following bound: `'c: 'b` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2d-push-inference-variable-2.rs b/src/test/ui/lifetimes/lifetime-errors/ex2d-push-inference-variable-2.rs deleted file mode 100644 index f57323029..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2d-push-inference-variable-2.rs +++ /dev/null @@ -1,12 +0,0 @@ -struct Ref<'a, T: 'a> { - data: &'a T -} - -fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) { - let a: &mut Vec<Ref<i32>> = x; - let b = Ref { data: y.data }; - a.push(b); - //~^ ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2d-push-inference-variable-2.stderr b/src/test/ui/lifetimes/lifetime-errors/ex2d-push-inference-variable-2.stderr deleted file mode 100644 index 52c5752f6..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2d-push-inference-variable-2.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex2d-push-inference-variable-2.rs:8:5 - | -LL | fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) { - | -- -- lifetime `'c` defined here - | | - | lifetime `'b` defined here -... -LL | a.push(b); - | ^^^^^^^^^ argument requires that `'c` must outlive `'b` - | - = help: consider adding the following bound: `'c: 'b` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2e-push-inference-variable-3.rs b/src/test/ui/lifetimes/lifetime-errors/ex2e-push-inference-variable-3.rs deleted file mode 100644 index 4a934bbf0..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2e-push-inference-variable-3.rs +++ /dev/null @@ -1,12 +0,0 @@ -struct Ref<'a, T: 'a> { - data: &'a T -} - -fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) { - let a: &mut Vec<Ref<i32>> = x; - let b = Ref { data: y.data }; - Vec::push(a, b); - //~^ ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex2e-push-inference-variable-3.stderr b/src/test/ui/lifetimes/lifetime-errors/ex2e-push-inference-variable-3.stderr deleted file mode 100644 index e90c81ee3..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex2e-push-inference-variable-3.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex2e-push-inference-variable-3.rs:8:5 - | -LL | fn foo<'a, 'b, 'c>(x: &'a mut Vec<Ref<'b, i32>>, y: Ref<'c, i32>) { - | -- -- lifetime `'c` defined here - | | - | lifetime `'b` defined here -... -LL | Vec::push(a, b); - | ^^^^^^^^^^^^^^^ argument requires that `'c` must outlive `'b` - | - = help: consider adding the following bound: `'c: 'b` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-2.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-2.rs deleted file mode 100644 index 09ee9accc..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-2.rs +++ /dev/null @@ -1,6 +0,0 @@ -fn foo(&mut (ref mut v, w): &mut (&u8, &u8), x: &u8) { - *v = x; - //~^ ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-2.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-2.stderr deleted file mode 100644 index 5a23f1e0e..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-2.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-2.rs:2:5 - | -LL | fn foo(&mut (ref mut v, w): &mut (&u8, &u8), x: &u8) { - | - - let's call the lifetime of this reference `'1` - | | - | let's call the lifetime of this reference `'2` -LL | *v = x; - | ^^^^^^ assignment requires that `'1` must outlive `'2` - | -help: consider introducing a named lifetime parameter - | -LL | fn foo<'a>(&mut (ref mut v, w): &mut (&'a u8, &u8), x: &'a u8) { - | ++++ ++ ++ - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-3.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-3.rs deleted file mode 100644 index b3106db77..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-3.rs +++ /dev/null @@ -1,7 +0,0 @@ -fn foo(z: &mut Vec<(&u8,&u8)>, (x, y): (&u8, &u8)) { - z.push((x,y)); - //~^ ERROR lifetime may not live long enough - //~| ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-3.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-3.stderr deleted file mode 100644 index 6ba130308..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-3.stderr +++ /dev/null @@ -1,32 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-3.rs:2:5 - | -LL | fn foo(z: &mut Vec<(&u8,&u8)>, (x, y): (&u8, &u8)) { - | - - let's call the lifetime of this reference `'1` - | | - | let's call the lifetime of this reference `'2` -LL | z.push((x,y)); - | ^^^^^^^^^^^^^ argument requires that `'1` must outlive `'2` - | -help: consider introducing a named lifetime parameter - | -LL | fn foo<'a>(z: &mut Vec<(&'a u8,&u8)>, (x, y): (&'a u8, &u8)) { - | ++++ ++ ++ - -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-3.rs:2:5 - | -LL | fn foo(z: &mut Vec<(&u8,&u8)>, (x, y): (&u8, &u8)) { - | - - let's call the lifetime of this reference `'3` - | | - | let's call the lifetime of this reference `'4` -LL | z.push((x,y)); - | ^^^^^^^^^^^^^ argument requires that `'3` must outlive `'4` - | -help: consider introducing a named lifetime parameter - | -LL | fn foo<'a>(z: &mut Vec<(&u8,&'a u8)>, (x, y): (&u8, &'a u8)) { - | ++++ ++ ++ - -error: aborting due to 2 previous errors - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-2.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-2.rs deleted file mode 100644 index 5d0367783..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-2.rs +++ /dev/null @@ -1,11 +0,0 @@ -struct Ref<'a, 'b> { - a: &'a u32, - b: &'b u32, -} - -fn foo(mut x: Ref, y: Ref) { - x.b = y.b; - //~^ ERROR lifetime may not live long enough -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-2.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-2.stderr deleted file mode 100644 index 4c0ffe5c0..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-2.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-both-are-structs-2.rs:7:5 - | -LL | fn foo(mut x: Ref, y: Ref) { - | ----- - has type `Ref<'_, '1>` - | | - | has type `Ref<'_, '2>` -LL | x.b = y.b; - | ^^^^^^^^^ assignment requires that `'1` must outlive `'2` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-3.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-3.rs deleted file mode 100644 index 4a479f19c..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-3.rs +++ /dev/null @@ -1,11 +0,0 @@ -struct Ref<'a, 'b> { - a: &'a u32, - b: &'b u32, -} - -fn foo(mut x: Ref) { - x.a = x.b; - //~^ ERROR lifetime may not live long enough -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-3.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-3.stderr deleted file mode 100644 index 97c665347..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-3.stderr +++ /dev/null @@ -1,13 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-both-are-structs-3.rs:7:5 - | -LL | fn foo(mut x: Ref) { - | ----- - | | - | has type `Ref<'_, '1>` - | has type `Ref<'2, '_>` -LL | x.a = x.b; - | ^^^^^^^^^ assignment requires that `'1` must outlive `'2` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-earlybound-regions.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-earlybound-regions.rs deleted file mode 100644 index 9b8cfe670..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-earlybound-regions.rs +++ /dev/null @@ -1,13 +0,0 @@ -struct Ref<'a> { - x: &'a u32, -} - -fn foo<'a, 'b>(mut x: Vec<Ref<'a>>, y: Ref<'b>) - where &'a (): Sized, - &'b u32: Sized -{ - x.push(y); - //~^ ERROR lifetime may not live long enough -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-earlybound-regions.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-earlybound-regions.stderr deleted file mode 100644 index b3d0bc2b8..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-earlybound-regions.stderr +++ /dev/null @@ -1,15 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-both-are-structs-earlybound-regions.rs:9:5 - | -LL | fn foo<'a, 'b>(mut x: Vec<Ref<'a>>, y: Ref<'b>) - | -- -- lifetime `'b` defined here - | | - | lifetime `'a` defined here -... -LL | x.push(y); - | ^^^^^^^^^ argument requires that `'b` must outlive `'a` - | - = help: consider adding the following bound: `'b: 'a` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-latebound-regions.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-latebound-regions.rs deleted file mode 100644 index db934a0be..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-latebound-regions.rs +++ /dev/null @@ -1,10 +0,0 @@ -struct Ref<'a> { - x: &'a u32, -} - -fn foo<'a, 'b>(mut x: Vec<Ref<'a>>, y: Ref<'b>) { - x.push(y); - //~^ ERROR lifetime may not live long enough -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-latebound-regions.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-latebound-regions.stderr deleted file mode 100644 index fbe98a426..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs-latebound-regions.stderr +++ /dev/null @@ -1,14 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-both-are-structs-latebound-regions.rs:6:5 - | -LL | fn foo<'a, 'b>(mut x: Vec<Ref<'a>>, y: Ref<'b>) { - | -- -- lifetime `'b` defined here - | | - | lifetime `'a` defined here -LL | x.push(y); - | ^^^^^^^^^ argument requires that `'b` must outlive `'a` - | - = help: consider adding the following bound: `'b: 'a` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs.rs deleted file mode 100644 index 4bf5db41f..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs.rs +++ /dev/null @@ -1,10 +0,0 @@ -struct Ref<'a> { - x: &'a u32, -} - -fn foo(mut x: Vec<Ref>, y: Ref) { - x.push(y); - //~^ ERROR lifetime may not live long enough -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs.stderr deleted file mode 100644 index 9630729d0..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-both-are-structs.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-both-are-structs.rs:6:5 - | -LL | fn foo(mut x: Vec<Ref>, y: Ref) { - | ----- - has type `Ref<'1>` - | | - | has type `Vec<Ref<'2>>` -LL | x.push(y); - | ^^^^^^^^^ argument requires that `'1` must outlive `'2` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-latebound-regions.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-latebound-regions.rs deleted file mode 100644 index 8dcb814b2..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-latebound-regions.rs +++ /dev/null @@ -1,6 +0,0 @@ -fn foo<'a,'b>(x: &mut Vec<&'a u8>, y: &'b u8) { - x.push(y); - //~^ ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-latebound-regions.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-latebound-regions.stderr deleted file mode 100644 index 1e24032fc..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-latebound-regions.stderr +++ /dev/null @@ -1,14 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-latebound-regions.rs:2:5 - | -LL | fn foo<'a,'b>(x: &mut Vec<&'a u8>, y: &'b u8) { - | -- -- lifetime `'b` defined here - | | - | lifetime `'a` defined here -LL | x.push(y); - | ^^^^^^^^^ argument requires that `'b` must outlive `'a` - | - = help: consider adding the following bound: `'b: 'a` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-2.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-2.rs deleted file mode 100644 index e4df870bc..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-2.rs +++ /dev/null @@ -1,9 +0,0 @@ -struct Ref<'a, 'b> { a: &'a u32, b: &'b u32 } - -fn foo(mut x: Ref, y: &u32) { - y = x.b; - //~^ ERROR lifetime may not live long enough - //~| ERROR cannot assign to immutable argument -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-2.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-2.stderr deleted file mode 100644 index bbd62902d..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-2.stderr +++ /dev/null @@ -1,21 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-one-is-struct-2.rs:4:5 - | -LL | fn foo(mut x: Ref, y: &u32) { - | ----- - let's call the lifetime of this reference `'2` - | | - | has type `Ref<'_, '1>` -LL | y = x.b; - | ^^^^^^^ assignment requires that `'1` must outlive `'2` - -error[E0384]: cannot assign to immutable argument `y` - --> $DIR/ex3-both-anon-regions-one-is-struct-2.rs:4:5 - | -LL | fn foo(mut x: Ref, y: &u32) { - | - help: consider making this binding mutable: `mut y` -LL | y = x.b; - | ^^^^^^^ cannot assign to immutable argument - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0384`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-3.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-3.rs deleted file mode 100644 index 00de48278..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-3.rs +++ /dev/null @@ -1,8 +0,0 @@ -struct Ref<'a, 'b> { a: &'a u32, b: &'b u32 } - -fn foo(mut y: Ref, x: &u32) { - y.b = x; - //~^ ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-3.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-3.stderr deleted file mode 100644 index 79e7e8e15..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-3.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-one-is-struct-3.rs:4:5 - | -LL | fn foo(mut y: Ref, x: &u32) { - | ----- - let's call the lifetime of this reference `'1` - | | - | has type `Ref<'_, '2>` -LL | y.b = x; - | ^^^^^^^ assignment requires that `'1` must outlive `'2` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-4.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-4.rs deleted file mode 100644 index 00de48278..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-4.rs +++ /dev/null @@ -1,8 +0,0 @@ -struct Ref<'a, 'b> { a: &'a u32, b: &'b u32 } - -fn foo(mut y: Ref, x: &u32) { - y.b = x; - //~^ ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-4.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-4.stderr deleted file mode 100644 index 53615fd1a..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct-4.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-one-is-struct-4.rs:4:5 - | -LL | fn foo(mut y: Ref, x: &u32) { - | ----- - let's call the lifetime of this reference `'1` - | | - | has type `Ref<'_, '2>` -LL | y.b = x; - | ^^^^^^^ assignment requires that `'1` must outlive `'2` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct.rs deleted file mode 100644 index 5bb0e28d4..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct.rs +++ /dev/null @@ -1,11 +0,0 @@ -struct Ref<'a, 'b> { - a: &'a u32, - b: &'b u32, -} - -fn foo(mut x: Ref, y: &u32) { - x.b = y; - //~^ ERROR lifetime may not live long enough -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct.stderr deleted file mode 100644 index 6ff441167..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-one-is-struct.stderr +++ /dev/null @@ -1,12 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-one-is-struct.rs:7:5 - | -LL | fn foo(mut x: Ref, y: &u32) { - | ----- - let's call the lifetime of this reference `'1` - | | - | has type `Ref<'_, '2>` -LL | x.b = y; - | ^^^^^^^ assignment requires that `'1` must outlive `'2` - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-return-type-is-anon.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-return-type-is-anon.rs deleted file mode 100644 index 3ffd7be4e..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-return-type-is-anon.rs +++ /dev/null @@ -1,12 +0,0 @@ -struct Foo { - field: i32 -} - -impl Foo { - fn foo<'a>(&self, x: &i32) -> &i32 { - x - //~^ ERROR lifetime may not live long enough - } -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-return-type-is-anon.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-return-type-is-anon.stderr deleted file mode 100644 index 5601335d2..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-return-type-is-anon.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-return-type-is-anon.rs:7:5 - | -LL | fn foo<'a>(&self, x: &i32) -> &i32 { - | - - let's call the lifetime of this reference `'1` - | | - | let's call the lifetime of this reference `'2` -LL | x - | ^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1` - | -help: consider introducing a named lifetime parameter and update trait if needed - | -LL | fn foo<'a>(&'a self, x: &'a i32) -> &i32 { - | ++ ++ - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-self-is-anon.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-self-is-anon.rs deleted file mode 100644 index 9b67a7742..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-self-is-anon.rs +++ /dev/null @@ -1,12 +0,0 @@ -struct Foo { - field: i32, -} - -impl Foo { - fn foo<'a>(&self, x: &Foo) -> &Foo { - if true { x } else { self } - //~^ ERROR lifetime may not live long enough - } -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-self-is-anon.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-self-is-anon.stderr deleted file mode 100644 index e221902c4..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-self-is-anon.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-self-is-anon.rs:7:19 - | -LL | fn foo<'a>(&self, x: &Foo) -> &Foo { - | - - let's call the lifetime of this reference `'1` - | | - | let's call the lifetime of this reference `'2` -LL | if true { x } else { self } - | ^ associated function was supposed to return data with lifetime `'2` but it is returning data with lifetime `'1` - | -help: consider introducing a named lifetime parameter and update trait if needed - | -LL | fn foo<'a>(&'a self, x: &'a Foo) -> &Foo { - | ++ ++ - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-fn-items.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-fn-items.rs deleted file mode 100644 index 2f67750d8..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-fn-items.rs +++ /dev/null @@ -1,7 +0,0 @@ -fn foo(x:fn(&u8, &u8), y: Vec<&u8>, z: &u8) { - y.push(z); - //~^ ERROR lifetime may not live long enough - //~| ERROR cannot borrow -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-fn-items.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-fn-items.stderr deleted file mode 100644 index a909c5fa8..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-fn-items.stderr +++ /dev/null @@ -1,26 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-using-fn-items.rs:2:3 - | -LL | fn foo(x:fn(&u8, &u8), y: Vec<&u8>, z: &u8) { - | - - let's call the lifetime of this reference `'1` - | | - | let's call the lifetime of this reference `'2` -LL | y.push(z); - | ^^^^^^^^^ argument requires that `'1` must outlive `'2` - | -help: consider introducing a named lifetime parameter - | -LL | fn foo<'a>(x:fn(&u8, &u8), y: Vec<&'a u8>, z: &'a u8) { - | ++++ ++ ++ - -error[E0596]: cannot borrow `y` as mutable, as it is not declared as mutable - --> $DIR/ex3-both-anon-regions-using-fn-items.rs:2:3 - | -LL | fn foo(x:fn(&u8, &u8), y: Vec<&u8>, z: &u8) { - | - help: consider changing this to be mutable: `mut y` -LL | y.push(z); - | ^^^^^^^^^ cannot borrow as mutable - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0596`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-impl-items.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-impl-items.rs deleted file mode 100644 index 73e1789f2..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-impl-items.rs +++ /dev/null @@ -1,10 +0,0 @@ -trait Foo { - fn foo<'a>(x: &mut Vec<&u8>, y: &u8); -} -impl Foo for () { - fn foo(x: &mut Vec<&u8>, y: &u8) { - x.push(y); - //~^ ERROR lifetime may not live long enough - } -} -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-impl-items.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-impl-items.stderr deleted file mode 100644 index 9661f1e51..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-impl-items.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-using-impl-items.rs:6:9 - | -LL | fn foo(x: &mut Vec<&u8>, y: &u8) { - | - - let's call the lifetime of this reference `'1` - | | - | let's call the lifetime of this reference `'2` -LL | x.push(y); - | ^^^^^^^^^ argument requires that `'1` must outlive `'2` - | -help: consider introducing a named lifetime parameter and update trait if needed - | -LL | fn foo<'a>(x: &mut Vec<&'a u8>, y: &'a u8) { - | ++++ ++ ++ - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-trait-objects.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-trait-objects.rs deleted file mode 100644 index 97fa9ef91..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-trait-objects.rs +++ /dev/null @@ -1,7 +0,0 @@ -fn foo(x:Box<dyn Fn(&u8, &u8)> , y: Vec<&u8>, z: &u8) { - y.push(z); - //~^ ERROR lifetime may not live long enough - //~| ERROR cannot borrow -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-trait-objects.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-trait-objects.stderr deleted file mode 100644 index d85ea6529..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions-using-trait-objects.stderr +++ /dev/null @@ -1,26 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions-using-trait-objects.rs:2:3 - | -LL | fn foo(x:Box<dyn Fn(&u8, &u8)> , y: Vec<&u8>, z: &u8) { - | - - let's call the lifetime of this reference `'1` - | | - | let's call the lifetime of this reference `'2` -LL | y.push(z); - | ^^^^^^^^^ argument requires that `'1` must outlive `'2` - | -help: consider introducing a named lifetime parameter - | -LL | fn foo<'a>(x:Box<dyn Fn(&u8, &u8)> , y: Vec<&'a u8>, z: &'a u8) { - | ++++ ++ ++ - -error[E0596]: cannot borrow `y` as mutable, as it is not declared as mutable - --> $DIR/ex3-both-anon-regions-using-trait-objects.rs:2:3 - | -LL | fn foo(x:Box<dyn Fn(&u8, &u8)> , y: Vec<&u8>, z: &u8) { - | - help: consider changing this to be mutable: `mut y` -LL | y.push(z); - | ^^^^^^^^^ cannot borrow as mutable - -error: aborting due to 2 previous errors - -For more information about this error, try `rustc --explain E0596`. diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions.rs b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions.rs deleted file mode 100644 index ca0feaba8..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions.rs +++ /dev/null @@ -1,6 +0,0 @@ -fn foo(x: &mut Vec<&u8>, y: &u8) { - x.push(y); - //~^ ERROR lifetime may not live long enough -} - -fn main() { } diff --git a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions.stderr b/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions.stderr deleted file mode 100644 index ec9fac0c2..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/ex3-both-anon-regions.stderr +++ /dev/null @@ -1,17 +0,0 @@ -error: lifetime may not live long enough - --> $DIR/ex3-both-anon-regions.rs:2:5 - | -LL | fn foo(x: &mut Vec<&u8>, y: &u8) { - | - - let's call the lifetime of this reference `'1` - | | - | let's call the lifetime of this reference `'2` -LL | x.push(y); - | ^^^^^^^^^ argument requires that `'1` must outlive `'2` - | -help: consider introducing a named lifetime parameter - | -LL | fn foo<'a>(x: &mut Vec<&'a u8>, y: &'a u8) { - | ++++ ++ ++ - -error: aborting due to previous error - diff --git a/src/test/ui/lifetimes/lifetime-errors/issue_74400.rs b/src/test/ui/lifetimes/lifetime-errors/issue_74400.rs deleted file mode 100644 index ddb8bacce..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/issue_74400.rs +++ /dev/null @@ -1,16 +0,0 @@ -//! Regression test for #74400: Type mismatch in function arguments E0631, E0271 are falsely -//! recognized as E0308 mismatched types. - -use std::convert::identity; - -fn main() {} - -fn f<T, S>(data: &[T], key: impl Fn(&T) -> S) { -} - -fn g<T>(data: &[T]) { - f(data, identity) - //~^ ERROR the parameter type - //~| ERROR mismatched types - //~| ERROR implementation of `FnOnce` is not general -} diff --git a/src/test/ui/lifetimes/lifetime-errors/issue_74400.stderr b/src/test/ui/lifetimes/lifetime-errors/issue_74400.stderr deleted file mode 100644 index 7049f28e2..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/issue_74400.stderr +++ /dev/null @@ -1,38 +0,0 @@ -error[E0310]: the parameter type `T` may not live long enough - --> $DIR/issue_74400.rs:12:5 - | -LL | f(data, identity) - | ^^^^^^^^^^^^^^^^^ ...so that the type `T` will meet its required lifetime bounds - | -help: consider adding an explicit lifetime bound... - | -LL | fn g<T: 'static>(data: &[T]) { - | +++++++++ - -error[E0308]: mismatched types - --> $DIR/issue_74400.rs:12:5 - | -LL | f(data, identity) - | ^^^^^^^^^^^^^^^^^ one type is more general than the other - | - = note: expected trait `for<'a> Fn<(&'a T,)>` - found trait `Fn<(&T,)>` -note: the lifetime requirement is introduced here - --> $DIR/issue_74400.rs:8:34 - | -LL | fn f<T, S>(data: &[T], key: impl Fn(&T) -> S) { - | ^^^^^^^^^^^ - -error: implementation of `FnOnce` is not general enough - --> $DIR/issue_74400.rs:12:5 - | -LL | f(data, identity) - | ^^^^^^^^^^^^^^^^^ implementation of `FnOnce` is not general enough - | - = note: `fn(&'2 T) -> &'2 T {identity::<&'2 T>}` must implement `FnOnce<(&'1 T,)>`, for any lifetime `'1`... - = note: ...but it actually implements `FnOnce<(&'2 T,)>`, for some specific lifetime `'2` - -error: aborting due to 3 previous errors - -Some errors have detailed explanations: E0308, E0310. -For more information about an error, try `rustc --explain E0308`. diff --git a/src/test/ui/lifetimes/lifetime-errors/liveness-assign-imm-local-notes.rs b/src/test/ui/lifetimes/lifetime-errors/liveness-assign-imm-local-notes.rs deleted file mode 100644 index 81a20c587..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/liveness-assign-imm-local-notes.rs +++ /dev/null @@ -1,37 +0,0 @@ -// Check notes are placed on an assignment that can actually precede the current assignment -// Don't emit a first assignment for assignment in a loop. - -fn test() { - let x; - if true { - x = 1; - } else { - x = 2; - x = 3; //~ ERROR [E0384] - } -} - -fn test_in_loop() { - loop { - let x; - if true { - x = 1; - } else { - x = 2; - x = 3; //~ ERROR [E0384] - } - } -} - -fn test_using_loop() { - let x; - loop { - if true { - x = 1; //~ ERROR [E0384] - } else { - x = 2; //~ ERROR [E0384] - } - } -} - -fn main() {} diff --git a/src/test/ui/lifetimes/lifetime-errors/liveness-assign-imm-local-notes.stderr b/src/test/ui/lifetimes/lifetime-errors/liveness-assign-imm-local-notes.stderr deleted file mode 100644 index b47a47d63..000000000 --- a/src/test/ui/lifetimes/lifetime-errors/liveness-assign-imm-local-notes.stderr +++ /dev/null @@ -1,46 +0,0 @@ -error[E0384]: cannot assign twice to immutable variable `x` - --> $DIR/liveness-assign-imm-local-notes.rs:10:9 - | -LL | let x; - | - help: consider making this binding mutable: `mut x` -... -LL | x = 2; - | ----- first assignment to `x` -LL | x = 3; - | ^^^^^ cannot assign twice to immutable variable - -error[E0384]: cannot assign twice to immutable variable `x` - --> $DIR/liveness-assign-imm-local-notes.rs:21:13 - | -LL | let x; - | - help: consider making this binding mutable: `mut x` -... -LL | x = 2; - | ----- first assignment to `x` -LL | x = 3; - | ^^^^^ cannot assign twice to immutable variable - -error[E0384]: cannot assign twice to immutable variable `x` - --> $DIR/liveness-assign-imm-local-notes.rs:30:13 - | -LL | let x; - | - help: consider making this binding mutable: `mut x` -... -LL | x = 1; - | ^^^^^ cannot assign twice to immutable variable - -error[E0384]: cannot assign twice to immutable variable `x` - --> $DIR/liveness-assign-imm-local-notes.rs:32:13 - | -LL | let x; - | - help: consider making this binding mutable: `mut x` -... -LL | x = 1; - | ----- first assignment to `x` -LL | } else { -LL | x = 2; - | ^^^^^ cannot assign twice to immutable variable - -error: aborting due to 4 previous errors - -For more information about this error, try `rustc --explain E0384`. |