Skip to content

Commit 2cc2e3a

Browse files
committed
Include angle brackets in include-related errors
1 parent faa1a7c commit 2cc2e3a

File tree

1 file changed

+4
-10
lines changed

1 file changed

+4
-10
lines changed

syntax/parse.rs

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use crate::syntax::{
66
attrs, error, Api, Doc, Enum, ExternFn, ExternType, Impl, Include, IncludeKind, Lang, Pair,
77
Receiver, Ref, Signature, Slice, Struct, Ty1, Type, TypeAlias, Var, Variant,
88
};
9-
use proc_macro2::{Delimiter, Group, Span, TokenStream, TokenTree};
9+
use proc_macro2::{Delimiter, Group, TokenStream, TokenTree};
1010
use quote::{format_ident, quote, quote_spanned};
1111
use syn::parse::{ParseStream, Parser};
1212
use syn::punctuated::Punctuated;
@@ -485,14 +485,10 @@ fn parse_include(input: ParseStream) -> Result<Include> {
485485

486486
if input.peek(Token![<]) {
487487
let mut path = String::new();
488-
let mut begin_span = None;
489-
let mut end_span = Span::call_site();
490488

491-
input.parse::<Token![<]>()?;
489+
let langle: Token![<] = input.parse()?;
492490
while !input.is_empty() && !input.peek(Token![>]) {
493491
let token: TokenTree = input.parse()?;
494-
end_span = token.span();
495-
begin_span = Some(begin_span.unwrap_or(end_span));
496492
match token {
497493
TokenTree::Ident(token) => path += &token.to_string(),
498494
TokenTree::Literal(token)
@@ -507,14 +503,12 @@ fn parse_include(input: ParseStream) -> Result<Include> {
507503
}
508504
}
509505
let rangle: Token![>] = input.parse()?;
510-
let begin_span =
511-
begin_span.ok_or_else(|| Error::new(rangle.span, "empty filename in #include"))?;
512506

513507
return Ok(Include {
514508
path,
515509
kind: IncludeKind::Bracketed,
516-
begin_span,
517-
end_span,
510+
begin_span: langle.span,
511+
end_span: rangle.span,
518512
});
519513
}
520514

0 commit comments

Comments
 (0)