about summary refs log tree commit diff
path: root/src/test/ui/parser
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2019-01-11 19:41:43 -0800
committerEsteban Küber <esteban@kuber.com.ar>2019-01-11 19:41:43 -0800
commitfc4b54157fd1732e03689bca12b81f0a496c7913 (patch)
tree0087edde3b77275e19416cd2742411c23897515a /src/test/ui/parser
parent5c67ba615c299d47aef592f62f1c7540e824e87f (diff)
downloadrust-fc4b54157fd1732e03689bca12b81f0a496c7913.tar.gz
rust-fc4b54157fd1732e03689bca12b81f0a496c7913.zip
Continue parsing after lifetime in incorrect location
Diffstat (limited to 'src/test/ui/parser')
-rw-r--r--src/test/ui/parser/issue-14303-fncall.rs2
-rw-r--r--src/test/ui/parser/issue-14303-fncall.stderr17
-rw-r--r--src/test/ui/parser/issue-14303-path.rs3
-rw-r--r--src/test/ui/parser/issue-14303-path.stderr30
4 files changed, 48 insertions, 4 deletions
diff --git a/src/test/ui/parser/issue-14303-fncall.rs b/src/test/ui/parser/issue-14303-fncall.rs
index f5894349e15..aa39fe52819 100644
--- a/src/test/ui/parser/issue-14303-fncall.rs
+++ b/src/test/ui/parser/issue-14303-fncall.rs
@@ -3,4 +3,6 @@ fn main() {
     .map(|x| x * 2)
     .collect::<Vec<'a, usize, 'b>>()
     //~^ ERROR lifetime parameters must be declared prior to type parameters
+    //~| ERRROR use of undeclared lifetime name
+    //~| ERRROR use of undeclared lifetime name
 }
diff --git a/src/test/ui/parser/issue-14303-fncall.stderr b/src/test/ui/parser/issue-14303-fncall.stderr
index 1cc82f523c4..fa2deafb673 100644
--- a/src/test/ui/parser/issue-14303-fncall.stderr
+++ b/src/test/ui/parser/issue-14303-fncall.stderr
@@ -2,7 +2,20 @@ error: lifetime parameters must be declared prior to type parameters
   --> $DIR/issue-14303-fncall.rs:4:31
    |
 LL |     .collect::<Vec<'a, usize, 'b>>()
-   |                               ^^
+   |                               ^^ must be declared prior to type parameters
 
-error: aborting due to previous error
+error[E0261]: use of undeclared lifetime name `'a`
+  --> $DIR/issue-14303-fncall.rs:4:20
+   |
+LL |     .collect::<Vec<'a, usize, 'b>>()
+   |                    ^^ undeclared lifetime
+
+error[E0261]: use of undeclared lifetime name `'b`
+  --> $DIR/issue-14303-fncall.rs:4:31
+   |
+LL |     .collect::<Vec<'a, usize, 'b>>()
+   |                               ^^ undeclared lifetime
+
+error: aborting due to 3 previous errors
 
+For more information about this error, try `rustc --explain E0261`.
diff --git a/src/test/ui/parser/issue-14303-path.rs b/src/test/ui/parser/issue-14303-path.rs
index f61cb6b8dd6..67102249f63 100644
--- a/src/test/ui/parser/issue-14303-path.rs
+++ b/src/test/ui/parser/issue-14303-path.rs
@@ -1,4 +1,7 @@
 fn bar<'a, T>(x: mymodule::X<'a, T, 'b, 'c>) {}
 //~^ ERROR lifetime parameters must be declared prior to type parameters
+//~| ERROR failed to resolve: use of undeclared type or module `mymodule`
+//~| ERROR use of undeclared lifetime name `'b`
+//~| ERROR use of undeclared lifetime name `'c`
 
 fn main() {}
diff --git a/src/test/ui/parser/issue-14303-path.stderr b/src/test/ui/parser/issue-14303-path.stderr
index 3de8a169c69..4c968fceb9d 100644
--- a/src/test/ui/parser/issue-14303-path.stderr
+++ b/src/test/ui/parser/issue-14303-path.stderr
@@ -2,7 +2,33 @@ error: lifetime parameters must be declared prior to type parameters
   --> $DIR/issue-14303-path.rs:1:37
    |
 LL | fn bar<'a, T>(x: mymodule::X<'a, T, 'b, 'c>) {}
-   |                                     ^^
+   |                                     ^^ must be declared prior to type parameters
 
-error: aborting due to previous error
+error: lifetime parameters must be declared prior to type parameters
+  --> $DIR/issue-14303-path.rs:1:41
+   |
+LL | fn bar<'a, T>(x: mymodule::X<'a, T, 'b, 'c>) {}
+   |                                         ^^ must be declared prior to type parameters
+
+error[E0433]: failed to resolve: use of undeclared type or module `mymodule`
+  --> $DIR/issue-14303-path.rs:1:18
+   |
+LL | fn bar<'a, T>(x: mymodule::X<'a, T, 'b, 'c>) {}
+   |                  ^^^^^^^^ use of undeclared type or module `mymodule`
+
+error[E0261]: use of undeclared lifetime name `'b`
+  --> $DIR/issue-14303-path.rs:1:37
+   |
+LL | fn bar<'a, T>(x: mymodule::X<'a, T, 'b, 'c>) {}
+   |                                     ^^ undeclared lifetime
+
+error[E0261]: use of undeclared lifetime name `'c`
+  --> $DIR/issue-14303-path.rs:1:41
+   |
+LL | fn bar<'a, T>(x: mymodule::X<'a, T, 'b, 'c>) {}
+   |                                         ^^ undeclared lifetime
+
+error: aborting due to 5 previous errors
 
+Some errors occurred: E0261, E0433.
+For more information about an error, try `rustc --explain E0261`.