diff options
| author | topecongiro <seuchida@gmail.com> | 2019-01-30 00:55:52 +0900 |
|---|---|---|
| committer | Seiichi Uchida <seiichi.uchida@dena.com> | 2019-02-06 23:06:15 +0900 |
| commit | f4f9502ea7b7e87e760f7f2a288829d28f213812 (patch) | |
| tree | 3e98e9312159b48440afd6f2f914fc5e4c834ee3 /src | |
| parent | ecde43e06b6ee52b49ce2cc96c35f9db7a1b4058 (diff) | |
Cargo update
- Update `rustc-ap-*` crates to 366.0.0 - Update the other crates to the latest stable
Diffstat (limited to 'src')
| -rw-r--r-- | src/closures.rs | 1 | ||||
| -rw-r--r-- | src/expr.rs | 1 | ||||
| -rw-r--r-- | src/macros.rs | 30 | ||||
| -rw-r--r-- | src/visitor.rs | 28 |
4 files changed, 17 insertions, 43 deletions
diff --git a/src/closures.rs b/src/closures.rs index 4ec66f06386..a0489718740 100644 --- a/src/closures.rs +++ b/src/closures.rs @@ -157,7 +157,6 @@ fn rewrite_closure_with_block( id: ast::NodeId::root(), rules: ast::BlockCheckMode::Default, span: body.span, - recovered: false, }; let block = crate::expr::rewrite_block_with_visitor(context, "", &block, None, None, shape, false)?; diff --git a/src/expr.rs b/src/expr.rs index 0e22134680f..744bc00d0de 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -379,6 +379,7 @@ pub fn format_expr( )) } } + ast::ExprKind::Err => None, }; expr_rw diff --git a/src/macros.rs b/src/macros.rs index 51cf9db53e8..a1b571ba0ad 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -27,7 +27,7 @@ use syntax::parse::token::{BinOpToken, DelimToken, Token}; use syntax::print::pprust; use syntax::source_map::{BytePos, Span}; use syntax::symbol; -use syntax::tokenstream::{Cursor, ThinTokenStream, TokenStream, TokenTree}; +use syntax::tokenstream::{Cursor, TokenStream, TokenTree}; use syntax::ThinVec; use syntax::{ast, parse, ptr}; @@ -751,7 +751,7 @@ struct MacroArgParser { fn last_tok(tt: &TokenTree) -> Token { match *tt { TokenTree::Token(_, ref t) => t.clone(), - TokenTree::Delimited(_, ref d) => d.close_token(), + TokenTree::Delimited(_, delim, _) => Token::CloseDelim(delim), } } @@ -916,11 +916,11 @@ impl MacroArgParser { } /// Returns a collection of parsed macro def's arguments. - pub fn parse(mut self, tokens: ThinTokenStream) -> Option<Vec<ParsedMacroArg>> { + pub fn parse(mut self, tokens: TokenStream) -> Option<Vec<ParsedMacroArg>> { let stream: TokenStream = tokens.into(); let mut iter = stream.trees(); - while let Some(ref tok) = iter.next() { + while let Some(tok) = iter.next() { match tok { TokenTree::Token(sp, Token::Dollar) => { // We always want to add a separator before meta variables. @@ -937,7 +937,7 @@ impl MacroArgParser { self.add_meta_variable(&mut iter)?; } TokenTree::Token(sp, ref t) => self.update_buffer(sp.lo(), t), - TokenTree::Delimited(delimited_span, delimited) => { + TokenTree::Delimited(delimited_span, delimited, ref tts) => { if !self.buf.is_empty() { if next_space(&self.last_tok) == SpaceState::Always { self.add_separator(); @@ -949,19 +949,19 @@ impl MacroArgParser { // Parse the stuff inside delimiters. let mut parser = MacroArgParser::new(); parser.lo = delimited_span.open.lo(); - let delimited_arg = parser.parse(delimited.tts.clone())?; + let delimited_arg = parser.parse(tts.clone())?; let span = delimited_span.entire(); if self.is_meta_var { - self.add_repeat(delimited_arg, delimited.delim, &mut iter, span)?; + self.add_repeat(delimited_arg, delimited, &mut iter, span)?; self.is_meta_var = false; } else { - self.add_delimited(delimited_arg, delimited.delim, span); + self.add_delimited(delimited_arg, delimited, span); } } } - self.set_last_tok(tok); + self.set_last_tok(&tok); } // We are left with some stuff in the buffer. Since there is nothing @@ -1027,11 +1027,7 @@ fn wrap_macro_args_inner( // // We always try and format on one line. // FIXME: Use multi-line when every thing does not fit on one line. -fn format_macro_args( - context: &RewriteContext, - toks: ThinTokenStream, - shape: Shape, -) -> Option<String> { +fn format_macro_args(context: &RewriteContext, toks: TokenStream, shape: Shape) -> Option<String> { if !context.config.format_macro_matchers() { let token_stream: TokenStream = toks.into(); let span = span_for_token_stream(&token_stream); @@ -1176,7 +1172,7 @@ impl MacroParser { let tok = self.toks.next()?; let (lo, args_paren_kind) = match tok { TokenTree::Token(..) => return None, - TokenTree::Delimited(delimited_span, ref d) => (delimited_span.open.lo(), d.delim), + TokenTree::Delimited(delimited_span, d, _) => (delimited_span.open.lo(), d), }; let args = tok.joint().into(); match self.toks.next()? { @@ -1185,7 +1181,7 @@ impl MacroParser { } let (mut hi, body, whole_body) = match self.toks.next()? { TokenTree::Token(..) => return None, - TokenTree::Delimited(delimited_span, _) => { + TokenTree::Delimited(delimited_span, ..) => { let data = delimited_span.entire().data(); ( data.hi, @@ -1218,7 +1214,7 @@ struct Macro { struct MacroBranch { span: Span, args_paren_kind: DelimToken, - args: ThinTokenStream, + args: TokenStream, body: Span, whole_body: Span, } diff --git a/src/visitor.rs b/src/visitor.rs index 029905f7e80..a677ce6c985 100644 --- a/src/visitor.rs +++ b/src/visitor.rs @@ -10,7 +10,6 @@ use std::cell::RefCell; -use syntax::attr::HasAttrs; use syntax::parse::ParseSess; use syntax::source_map::{self, BytePos, Pos, SourceMap, Span}; use syntax::{ast, visit}; @@ -152,32 +151,11 @@ impl<'b, 'a: 'b> FmtVisitor<'a> { self.push_str("{"); if let Some(first_stmt) = b.stmts.first() { - let attr_lo = inner_attrs + let hi = inner_attrs .and_then(|attrs| inner_attributes(attrs).first().map(|attr| attr.span.lo())) - .or_else(|| { - // Attributes for an item in a statement position - // do not belong to the statement. (rust-lang/rust#34459) - if let ast::StmtKind::Item(ref item) = first_stmt.node { - item.attrs.first() - } else { - first_stmt.attrs().first() - } - .and_then(|attr| { - // Some stmts can have embedded attributes. - // e.g. `match { #![attr] ... }` - let attr_lo = attr.span.lo(); - if attr_lo < first_stmt.span.lo() { - Some(attr_lo) - } else { - None - } - }) - }); + .unwrap_or(first_stmt.span().lo()); - let snippet = self.snippet(mk_sp( - self.last_pos, - attr_lo.unwrap_or_else(|| first_stmt.span.lo()), - )); + let snippet = self.snippet(mk_sp(self.last_pos, hi)); let len = CommentCodeSlices::new(snippet) .nth(0) .and_then(|(kind, _, s)| { |
