mirror of
https://github.com/rust-lang/rust.git
synced 2024-10-30 22:12:15 +00:00
Resolve issue 85066
Fix : use struct_dummy Fix different os messages
This commit is contained in:
parent
2b5ddf36fd
commit
250a3e482f
@ -1493,6 +1493,20 @@ impl<'a> Parser<'a> {
|
||||
|
||||
pub(super) fn parse_lit(&mut self) -> PResult<'a, Lit> {
|
||||
self.parse_opt_lit().ok_or_else(|| {
|
||||
if let token::Interpolated(inner) = &self.token.kind {
|
||||
let expr = match inner.as_ref() {
|
||||
token::NtExpr(expr) => Some(expr),
|
||||
token::NtLiteral(expr) => Some(expr),
|
||||
_ => None,
|
||||
};
|
||||
if let Some(expr) = expr {
|
||||
if matches!(expr.kind, ExprKind::Err) {
|
||||
self.diagnostic()
|
||||
.delay_span_bug(self.token.span, &"invalid interpolated expression");
|
||||
return self.diagnostic().struct_dummy();
|
||||
}
|
||||
}
|
||||
}
|
||||
let msg = format!("unexpected token: {}", super::token_descr(&self.token));
|
||||
self.struct_span_err(self.token.span, &msg)
|
||||
})
|
||||
|
8
src/test/ui/attributes/extented-attribute-macro-error.rs
Normal file
8
src/test/ui/attributes/extented-attribute-macro-error.rs
Normal file
@ -0,0 +1,8 @@
|
||||
// normalize-stderr-test: "couldn't read.*" -> "couldn't read the file"
|
||||
|
||||
#![feature(extended_key_value_attributes)]
|
||||
#![doc = include_str!("../not_existing_file.md")]
|
||||
struct Documented {}
|
||||
//~^^ ERROR couldn't read
|
||||
|
||||
fn main() {}
|
10
src/test/ui/attributes/extented-attribute-macro-error.stderr
Normal file
10
src/test/ui/attributes/extented-attribute-macro-error.stderr
Normal file
@ -0,0 +1,10 @@
|
||||
error: couldn't read the file
|
||||
--> $DIR/extented-attribute-macro-error.rs:4:10
|
||||
|
|
||||
LL | #![doc = include_str!("../not_existing_file.md")]
|
||||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
|
||||
= note: this error originates in the macro `include_str` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||
|
||||
error: aborting due to previous error
|
||||
|
Loading…
Reference in New Issue
Block a user