Continune parsing after encountering Trait with paren args

This commit is contained in:
Esteban Küber 2019-01-19 14:48:43 -08:00
parent 0c0c585281
commit d38e70036e
6 changed files with 41 additions and 13 deletions

View file

@ -1826,7 +1826,7 @@ impl<'a> LoweringContext<'a> {
struct_span_err!(self.sess, data.span, E0214, "{}", msg)
.span_label(data.span, "only traits may use parentheses")
.emit();
(hir::GenericArgs::none(), true)
(hir::GenericArgs::none(), false)
}
},
}

View file

@ -4,6 +4,13 @@ error[E0214]: parenthesized parameters may only be used with a trait
LL | let v: Vec(&str) = vec!["foo"];
| ^^^^^^ only traits may use parentheses
error: aborting due to previous error
error[E0107]: wrong number of type arguments: expected 1, found 0
--> $DIR/E0214.rs:2:12
|
LL | let v: Vec(&str) = vec!["foo"];
| ^^^^^^^^^ expected 1 type argument
For more information about this error, try `rustc --explain E0214`.
error: aborting due to 2 previous errors
Some errors occurred: E0107, E0214.
For more information about an error, try `rustc --explain E0107`.

View file

@ -4,6 +4,13 @@ error[E0214]: parenthesized parameters may only be used with a trait
LL | let v: Vec(&str) = vec!['1', '2'];
| ^^^^^^ only traits may use parentheses
error: aborting due to previous error
error[E0107]: wrong number of type arguments: expected 1, found 0
--> $DIR/issue-23589.rs:2:12
|
LL | let v: Vec(&str) = vec!['1', '2'];
| ^^^^^^^^^ expected 1 type argument
For more information about this error, try `rustc --explain E0214`.
error: aborting due to 2 previous errors
Some errors occurred: E0107, E0214.
For more information about an error, try `rustc --explain E0107`.

View file

@ -4,6 +4,13 @@ error[E0214]: parenthesized parameters may only be used with a trait
LL | let x: Box<Bar()> = panic!();
| ^^ only traits may use parentheses
error: aborting due to previous error
error[E0107]: wrong number of type arguments: expected 1, found 0
--> $DIR/unboxed-closure-sugar-used-on-struct-1.rs:8:16
|
LL | let x: Box<Bar()> = panic!();
| ^^^^^ expected 1 type argument
For more information about this error, try `rustc --explain E0214`.
error: aborting due to 2 previous errors
Some errors occurred: E0107, E0214.
For more information about an error, try `rustc --explain E0107`.

View file

@ -4,6 +4,13 @@ error[E0214]: parenthesized parameters may only be used with a trait
LL | let b = Bar::(isize, usize)::new(); // OK too (for the parser)
| ^^^^^^^^^^^^^^^^ only traits may use parentheses
error: aborting due to previous error
error[E0107]: wrong number of type arguments: expected 2, found 0
--> $DIR/unboxed-closure-sugar-used-on-struct-3.rs:14:13
|
LL | let b = Bar::(isize, usize)::new(); // OK too (for the parser)
| ^^^^^^^^^^^^^^^^^^^^^^^^ expected 2 type arguments
For more information about this error, try `rustc --explain E0214`.
error: aborting due to 2 previous errors
Some errors occurred: E0107, E0214.
For more information about an error, try `rustc --explain E0107`.

View file

@ -4,13 +4,13 @@ error[E0214]: parenthesized parameters may only be used with a trait
LL | fn foo(b: Box<Bar()>) {
| ^^ only traits may use parentheses
error[E0121]: the type placeholder `_` is not allowed within types on item signatures
error[E0107]: wrong number of type arguments: expected 1, found 0
--> $DIR/unboxed-closure-sugar-used-on-struct.rs:7:15
|
LL | fn foo(b: Box<Bar()>) {
| ^^^^^ not allowed in type signatures
| ^^^^^ expected 1 type argument
error: aborting due to 2 previous errors
Some errors occurred: E0121, E0214.
For more information about an error, try `rustc --explain E0121`.
Some errors occurred: E0107, E0214.
For more information about an error, try `rustc --explain E0107`.