about summary refs log tree commit diff
diff options
context:
space:
mode:
authorJack Huey <31162821+jackh726@users.noreply.github.com>2022-05-21 15:26:58 -0400
committerJack Huey <31162821+jackh726@users.noreply.github.com>2022-05-22 15:21:27 -0400
commit62806f75369f810ddde1b28e6aca7b8a2792aac3 (patch)
treed673cc87e23ba1938d6bd1be53060ac19aa1910c
parent12a2d7967c48f418e99ed4ff8fa5e662e1f34ffb (diff)
downloadrust-62806f75369f810ddde1b28e6aca7b8a2792aac3.tar.gz
rust-62806f75369f810ddde1b28e6aca7b8a2792aac3.zip
Use revisions for NLL in generator
-rw-r--r--src/test/ui/generator/auto-trait-regions.base.stderr (renamed from src/test/ui/generator/auto-trait-regions.stderr)8
-rw-r--r--src/test/ui/generator/auto-trait-regions.nll.stderr12
-rw-r--r--src/test/ui/generator/auto-trait-regions.rs10
-rw-r--r--src/test/ui/generator/generator-region-requirements.base.stderr (renamed from src/test/ui/generator/generator-region-requirements.stderr)2
-rw-r--r--src/test/ui/generator/generator-region-requirements.nll.stderr2
-rw-r--r--src/test/ui/generator/generator-region-requirements.rs7
-rw-r--r--src/test/ui/generator/resume-arg-late-bound.base.stderr (renamed from src/test/ui/generator/resume-arg-late-bound.stderr)12
-rw-r--r--src/test/ui/generator/resume-arg-late-bound.nll.stderr4
-rw-r--r--src/test/ui/generator/resume-arg-late-bound.rs6
9 files changed, 39 insertions, 24 deletions
diff --git a/src/test/ui/generator/auto-trait-regions.stderr b/src/test/ui/generator/auto-trait-regions.base.stderr
index da3d3249f0e..d44c8eb1b82 100644
--- a/src/test/ui/generator/auto-trait-regions.stderr
+++ b/src/test/ui/generator/auto-trait-regions.base.stderr
@@ -1,5 +1,5 @@
 error: implementation of `Foo` is not general enough
-  --> $DIR/auto-trait-regions.rs:31:5
+  --> $DIR/auto-trait-regions.rs:35:5
    |
 LL |     assert_foo(gen);
    |     ^^^^^^^^^^ implementation of `Foo` is not general enough
@@ -8,7 +8,7 @@ LL |     assert_foo(gen);
    = note: ...but `Foo` is actually implemented for the type `&'static OnlyFooIfStaticRef`
 
 error: implementation of `Foo` is not general enough
-  --> $DIR/auto-trait-regions.rs:31:5
+  --> $DIR/auto-trait-regions.rs:35:5
    |
 LL |     assert_foo(gen);
    |     ^^^^^^^^^^ implementation of `Foo` is not general enough
@@ -17,7 +17,7 @@ LL |     assert_foo(gen);
    = note: ...but `Foo` is actually implemented for the type `&'static OnlyFooIfStaticRef`
 
 error: implementation of `Foo` is not general enough
-  --> $DIR/auto-trait-regions.rs:50:5
+  --> $DIR/auto-trait-regions.rs:56:5
    |
 LL |     assert_foo(gen);
    |     ^^^^^^^^^^ implementation of `Foo` is not general enough
@@ -26,7 +26,7 @@ LL |     assert_foo(gen);
    = note: ...but `Foo` is actually implemented for the type `A<'_, '2>`, for some specific lifetime `'2`
 
 error: implementation of `Foo` is not general enough
-  --> $DIR/auto-trait-regions.rs:50:5
+  --> $DIR/auto-trait-regions.rs:56:5
    |
 LL |     assert_foo(gen);
    |     ^^^^^^^^^^ implementation of `Foo` is not general enough
diff --git a/src/test/ui/generator/auto-trait-regions.nll.stderr b/src/test/ui/generator/auto-trait-regions.nll.stderr
index 76970fb7872..25456881fa0 100644
--- a/src/test/ui/generator/auto-trait-regions.nll.stderr
+++ b/src/test/ui/generator/auto-trait-regions.nll.stderr
@@ -1,31 +1,31 @@
 error[E0716]: temporary value dropped while borrowed
-  --> $DIR/auto-trait-regions.rs:46:24
+  --> $DIR/auto-trait-regions.rs:50:24
    |
 LL |         let a = A(&mut true, &mut true, No);
    |                        ^^^^                - temporary value is freed at the end of this statement
    |                        |
    |                        creates a temporary which is freed while still in use
-LL |         yield;
+...
 LL |         assert_foo(a);
    |                    - borrow later used here
    |
    = note: consider using a `let` binding to create a longer lived value
 
 error[E0716]: temporary value dropped while borrowed
-  --> $DIR/auto-trait-regions.rs:46:35
+  --> $DIR/auto-trait-regions.rs:50:35
    |
 LL |         let a = A(&mut true, &mut true, No);
    |                                   ^^^^     - temporary value is freed at the end of this statement
    |                                   |
    |                                   creates a temporary which is freed while still in use
-LL |         yield;
+...
 LL |         assert_foo(a);
    |                    - borrow later used here
    |
    = note: consider using a `let` binding to create a longer lived value
 
 error: implementation of `Foo` is not general enough
-  --> $DIR/auto-trait-regions.rs:31:5
+  --> $DIR/auto-trait-regions.rs:35:5
    |
 LL |     assert_foo(gen);
    |     ^^^^^^^^^^^^^^^ implementation of `Foo` is not general enough
@@ -34,7 +34,7 @@ LL |     assert_foo(gen);
    = note: ...but `Foo` is actually implemented for the type `&'static OnlyFooIfStaticRef`
 
 error: implementation of `Foo` is not general enough
-  --> $DIR/auto-trait-regions.rs:50:5
+  --> $DIR/auto-trait-regions.rs:56:5
    |
 LL |     assert_foo(gen);
    |     ^^^^^^^^^^^^^^^ implementation of `Foo` is not general enough
diff --git a/src/test/ui/generator/auto-trait-regions.rs b/src/test/ui/generator/auto-trait-regions.rs
index 8f1e4f1b66f..98af4a39391 100644
--- a/src/test/ui/generator/auto-trait-regions.rs
+++ b/src/test/ui/generator/auto-trait-regions.rs
@@ -1,3 +1,7 @@
+// ignore-compare-mode-nll
+// revisions: base nll
+// [nll]compile-flags: -Zborrowck=mir
+
 #![feature(generators)]
 #![feature(auto_traits)]
 #![feature(negative_impls)]
@@ -30,7 +34,7 @@ fn main() {
     };
     assert_foo(gen);
     //~^ ERROR implementation of `Foo` is not general enough
-    //~| ERROR implementation of `Foo` is not general enough
+    //[base]~^^ ERROR implementation of `Foo` is not general enough
 
     // Allow impls which matches any lifetime
     let x = &OnlyFooIfRef(No);
@@ -44,10 +48,12 @@ fn main() {
     // Disallow impls which relates lifetimes in the generator interior
     let gen = || {
         let a = A(&mut true, &mut true, No);
+        //[nll]~^ temporary value dropped while borrowed
+        //[nll]~| temporary value dropped while borrowed
         yield;
         assert_foo(a);
     };
     assert_foo(gen);
     //~^ ERROR not general enough
-    //~| ERROR not general enough
+    //[base]~^^ ERROR not general enough
 }
diff --git a/src/test/ui/generator/generator-region-requirements.stderr b/src/test/ui/generator/generator-region-requirements.base.stderr
index 30d67050b90..89f6a81ad3b 100644
--- a/src/test/ui/generator/generator-region-requirements.stderr
+++ b/src/test/ui/generator/generator-region-requirements.base.stderr
@@ -1,5 +1,5 @@
 error[E0759]: `x` has an anonymous lifetime `'_` but it needs to satisfy a `'static` lifetime requirement
-  --> $DIR/generator-region-requirements.rs:8:9
+  --> $DIR/generator-region-requirements.rs:12:9
    |
 LL | fn dangle(x: &mut i32) -> &'static mut i32 {
    |              -------- this data with an anonymous lifetime `'_`...
diff --git a/src/test/ui/generator/generator-region-requirements.nll.stderr b/src/test/ui/generator/generator-region-requirements.nll.stderr
index b4530cfda2b..9f54c6c9dc1 100644
--- a/src/test/ui/generator/generator-region-requirements.nll.stderr
+++ b/src/test/ui/generator/generator-region-requirements.nll.stderr
@@ -1,5 +1,5 @@
 error: lifetime may not live long enough
-  --> $DIR/generator-region-requirements.rs:13:51
+  --> $DIR/generator-region-requirements.rs:17:51
    |
 LL | fn dangle(x: &mut i32) -> &'static mut i32 {
    |              - let's call the lifetime of this reference `'1`
diff --git a/src/test/ui/generator/generator-region-requirements.rs b/src/test/ui/generator/generator-region-requirements.rs
index cec68509a66..ec718b17460 100644
--- a/src/test/ui/generator/generator-region-requirements.rs
+++ b/src/test/ui/generator/generator-region-requirements.rs
@@ -1,3 +1,7 @@
+// ignore-compare-mode-nll
+// revisions: base nll
+// [nll]compile-flags: -Zborrowck=mir
+
 #![feature(generators, generator_trait)]
 use std::ops::{Generator, GeneratorState};
 use std::pin::Pin;
@@ -6,11 +10,12 @@ fn dangle(x: &mut i32) -> &'static mut i32 {
     let mut g = || {
         yield;
         x
-        //~^ ERROR `x` has an anonymous lifetime `'_` but it needs to satisfy a `'static` lifetime requirement [E0759]
+        //[base]~^ ERROR `x` has an anonymous lifetime `'_` but it needs to satisfy a `'static` lifetime requirement [E0759]
     };
     loop {
         match Pin::new(&mut g).resume(()) {
             GeneratorState::Complete(c) => return c,
+            //[nll]~^ ERROR lifetime may not live long enough
             GeneratorState::Yielded(_) => (),
         }
     }
diff --git a/src/test/ui/generator/resume-arg-late-bound.stderr b/src/test/ui/generator/resume-arg-late-bound.base.stderr
index 5e60e33584e..8521951d0c9 100644
--- a/src/test/ui/generator/resume-arg-late-bound.stderr
+++ b/src/test/ui/generator/resume-arg-late-bound.base.stderr
@@ -1,5 +1,5 @@
 error[E0308]: mismatched types
-  --> $DIR/resume-arg-late-bound.rs:15:5
+  --> $DIR/resume-arg-late-bound.rs:19:5
    |
 LL |     test(gen);
    |     ^^^^ lifetime mismatch
@@ -7,7 +7,7 @@ LL |     test(gen);
    = note: expected type `for<'a> Generator<&'a mut bool>`
               found type `Generator<&mut bool>`
 note: the required lifetime does not necessarily outlive the anonymous lifetime #1 defined here
-  --> $DIR/resume-arg-late-bound.rs:11:15
+  --> $DIR/resume-arg-late-bound.rs:15:15
    |
 LL |       let gen = |arg: &mut bool| {
    |  _______________^
@@ -16,13 +16,13 @@ LL | |         *arg = true;
 LL | |     };
    | |_____^
 note: the lifetime requirement is introduced here
-  --> $DIR/resume-arg-late-bound.rs:8:17
+  --> $DIR/resume-arg-late-bound.rs:12:17
    |
 LL | fn test(a: impl for<'a> Generator<&'a mut bool>) {}
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
 error[E0308]: mismatched types
-  --> $DIR/resume-arg-late-bound.rs:15:5
+  --> $DIR/resume-arg-late-bound.rs:19:5
    |
 LL |     test(gen);
    |     ^^^^ lifetime mismatch
@@ -30,7 +30,7 @@ LL |     test(gen);
    = note: expected type `for<'a> Generator<&'a mut bool>`
               found type `Generator<&mut bool>`
 note: the anonymous lifetime #1 defined here doesn't meet the lifetime requirements
-  --> $DIR/resume-arg-late-bound.rs:11:15
+  --> $DIR/resume-arg-late-bound.rs:15:15
    |
 LL |       let gen = |arg: &mut bool| {
    |  _______________^
@@ -39,7 +39,7 @@ LL | |         *arg = true;
 LL | |     };
    | |_____^
 note: the lifetime requirement is introduced here
-  --> $DIR/resume-arg-late-bound.rs:8:17
+  --> $DIR/resume-arg-late-bound.rs:12:17
    |
 LL | fn test(a: impl for<'a> Generator<&'a mut bool>) {}
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/generator/resume-arg-late-bound.nll.stderr b/src/test/ui/generator/resume-arg-late-bound.nll.stderr
index b5144c607a8..868d1352f25 100644
--- a/src/test/ui/generator/resume-arg-late-bound.nll.stderr
+++ b/src/test/ui/generator/resume-arg-late-bound.nll.stderr
@@ -1,5 +1,5 @@
 error[E0308]: mismatched types
-  --> $DIR/resume-arg-late-bound.rs:15:5
+  --> $DIR/resume-arg-late-bound.rs:19:5
    |
 LL |     test(gen);
    |     ^^^^^^^^^ one type is more general than the other
@@ -7,7 +7,7 @@ LL |     test(gen);
    = note: expected type `for<'a> Generator<&'a mut bool>`
               found type `Generator<&mut bool>`
 note: the lifetime requirement is introduced here
-  --> $DIR/resume-arg-late-bound.rs:8:17
+  --> $DIR/resume-arg-late-bound.rs:12:17
    |
 LL | fn test(a: impl for<'a> Generator<&'a mut bool>) {}
    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
diff --git a/src/test/ui/generator/resume-arg-late-bound.rs b/src/test/ui/generator/resume-arg-late-bound.rs
index a8f657eaabe..b973d8a300a 100644
--- a/src/test/ui/generator/resume-arg-late-bound.rs
+++ b/src/test/ui/generator/resume-arg-late-bound.rs
@@ -1,3 +1,7 @@
+// ignore-compare-mode-nll
+// revisions: base nll
+// [nll]compile-flags: -Zborrowck=mir
+
 //! Tests that we cannot produce a generator that accepts a resume argument
 //! with any lifetime and then stores it across a `yield`.
 
@@ -14,5 +18,5 @@ fn main() {
     };
     test(gen);
     //~^ ERROR mismatched types
-    //~| ERROR mismatched types
+    //[base]~^^ ERROR mismatched types
 }