mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-28 02:57:37 +00:00
Disallow combining a method call with prefix or suffix
This commit is contained in:
parent
d0980655b3
commit
fbcc886338
12
src/expr.rs
12
src/expr.rs
@ -2172,3 +2172,15 @@ impl ToExpr for ast::GenericParam {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
pub fn is_method_call(expr: &ast::Expr) -> bool {
|
||||
match expr.node {
|
||||
ast::ExprKind::MethodCall(..) => true,
|
||||
ast::ExprKind::AddrOf(_, ref expr)
|
||||
| ast::ExprKind::Box(ref expr)
|
||||
| ast::ExprKind::Cast(ref expr, _)
|
||||
| ast::ExprKind::Try(ref expr)
|
||||
| ast::ExprKind::Unary(_, ref expr) => is_method_call(expr),
|
||||
_ => false,
|
||||
}
|
||||
}
|
||||
|
@ -18,7 +18,7 @@ use syntax::parse::token::DelimToken;
|
||||
|
||||
use closures;
|
||||
use codemap::SpanUtils;
|
||||
use expr::{is_every_expr_simple, is_nested_call, maybe_get_args_offset, ToExpr};
|
||||
use expr::{is_every_expr_simple, is_method_call, is_nested_call, maybe_get_args_offset, ToExpr};
|
||||
use lists::{definitive_tactic, itemize_list, write_list, ListFormatting, ListItem, Separator};
|
||||
use rewrite::{Rewrite, RewriteContext};
|
||||
use shape::Shape;
|
||||
@ -231,8 +231,8 @@ impl<'a, T: 'a + Rewrite + ToExpr + Spanned> Context<'a, T> {
|
||||
let placeholder = if overflow_last {
|
||||
let old_value = *self.context.force_one_line_chain.borrow();
|
||||
if !combine_arg_with_callee {
|
||||
if let Some(expr) = self.last_item().and_then(|item| item.to_expr()) {
|
||||
if let ast::ExprKind::MethodCall(..) = expr.node {
|
||||
if let Some(ref expr) = self.last_item().and_then(|item| item.to_expr()) {
|
||||
if is_method_call(expr) {
|
||||
self.context.force_one_line_chain.replace(true);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user