err?
}
}
- _ => {
- // FIXME Could factor this out into non_fatal_unexpected or something.
- let actual = self.this_token_to_string();
- self.span_err(self.token.span, &format!("unexpected token: `{}`", actual));
- }
+ _ => self.error_unexpected_after_dot(),
}
continue;
}
return Ok(e);
}
+ fn error_unexpected_after_dot(&self) {
+ // FIXME Could factor this out into non_fatal_unexpected or something.
+ let actual = self.this_token_to_string();
+ self.struct_span_err(self.token.span, &format!("unexpected token: `{}`", actual)).emit();
+ }
+
fn recover_field_access_by_float_lit(
&mut self,
lo: Span,
+++ /dev/null
-#[cfg(FALSE)] fn e() { let _ = x.#![attr]foo(); }
-//~^ ERROR unexpected token: `#`
+++ /dev/null
-error: unexpected token: `#`
- --> $DIR/attr-stmt-expr-attr-bad-2.rs:1:34
- |
-LL | #[cfg(FALSE)] fn e() { let _ = x.#![attr]foo(); }
- | ^
-
-error: aborting due to previous error
-
+++ /dev/null
-#[cfg(FALSE)] fn e() { let _ = x.#[attr]foo(); }
-//~^ ERROR unexpected token: `#`
+++ /dev/null
-error: unexpected token: `#`
- --> $DIR/attr-stmt-expr-attr-bad-3.rs:1:34
- |
-LL | #[cfg(FALSE)] fn e() { let _ = x.#[attr]foo(); }
- | ^
-
-error: aborting due to previous error
-
//~^ ERROR `X..=` range patterns are not supported
//~| ERROR expected one of `=>`, `if`, or `|`, found `#`
+#[cfg(FALSE)] fn e() { let _ = x.#![attr]foo(); }
+//~^ ERROR unexpected token: `#`
+//~| ERROR expected one of `.`
+#[cfg(FALSE)] fn e() { let _ = x.#[attr]foo(); }
+//~^ ERROR unexpected token: `#`
+//~| ERROR expected one of `.`
+
// make sure we don't catch this bug again...
#[cfg(FALSE)] fn e() { { fn foo() { #[attr]; } } }
//~^ ERROR expected statement after outer attribute
LL | #[cfg(FALSE)] fn e() { match 0 { 0..=#[attr] FOO => () } }
| ^ expected one of `=>`, `if`, or `|`
+error: unexpected token: `#`
+ --> $DIR/attr-stmt-expr-attr-bad.rs:104:34
+ |
+LL | #[cfg(FALSE)] fn e() { let _ = x.#![attr]foo(); }
+ | ^
+
+error: expected one of `.`, `;`, `?`, or an operator, found `#`
+ --> $DIR/attr-stmt-expr-attr-bad.rs:104:34
+ |
+LL | #[cfg(FALSE)] fn e() { let _ = x.#![attr]foo(); }
+ | ^ expected one of `.`, `;`, `?`, or an operator
+
+error: unexpected token: `#`
+ --> $DIR/attr-stmt-expr-attr-bad.rs:106:34
+ |
+LL | #[cfg(FALSE)] fn e() { let _ = x.#[attr]foo(); }
+ | ^
+
+error: expected one of `.`, `;`, `?`, or an operator, found `#`
+ --> $DIR/attr-stmt-expr-attr-bad.rs:106:34
+ |
+LL | #[cfg(FALSE)] fn e() { let _ = x.#[attr]foo(); }
+ | ^ expected one of `.`, `;`, `?`, or an operator
+
error: expected statement after outer attribute
- --> $DIR/attr-stmt-expr-attr-bad.rs:105:44
+ --> $DIR/attr-stmt-expr-attr-bad.rs:110:44
|
LL | #[cfg(FALSE)] fn e() { { fn foo() { #[attr]; } } }
| ^
-error: aborting due to 52 previous errors
+error: aborting due to 56 previous errors