Merge pull request #1664 from topecongiro/where-rfc-style
Fix excessive indentation in trait where clause when using Rfc style
This commit is contained in:
commit
14227ddc40
4 changed files with 29 additions and 3 deletions
|
@ -2306,7 +2306,7 @@ fn rewrite_where_clause_rfc_style(context: &RewriteContext,
|
||||||
terminator,
|
terminator,
|
||||||
|pred| span_for_where_pred(pred).lo,
|
|pred| span_for_where_pred(pred).lo,
|
||||||
|pred| span_for_where_pred(pred).hi,
|
|pred| span_for_where_pred(pred).hi,
|
||||||
|pred| pred.rewrite(context, clause_shape),
|
|pred| pred.rewrite(context, shape),
|
||||||
span_start,
|
span_start,
|
||||||
span_end);
|
span_end);
|
||||||
let comma_tactic = if suppress_comma {
|
let comma_tactic = if suppress_comma {
|
||||||
|
|
|
@ -24,7 +24,7 @@ use lists::{itemize_list, format_fn_args};
|
||||||
use rewrite::{Rewrite, RewriteContext};
|
use rewrite::{Rewrite, RewriteContext};
|
||||||
use utils::{extra_offset, format_mutability, colon_spaces, wrap_str, mk_sp, last_line_width};
|
use utils::{extra_offset, format_mutability, colon_spaces, wrap_str, mk_sp, last_line_width};
|
||||||
use expr::{rewrite_unary_prefix, rewrite_pair, rewrite_tuple_type};
|
use expr::{rewrite_unary_prefix, rewrite_pair, rewrite_tuple_type};
|
||||||
use config::TypeDensity;
|
use config::{Style, TypeDensity};
|
||||||
|
|
||||||
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
|
#[derive(Copy, Clone, Debug, Eq, PartialEq)]
|
||||||
pub enum PathContext {
|
pub enum PathContext {
|
||||||
|
@ -383,7 +383,10 @@ impl Rewrite for ast::WherePredicate {
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
let used_width = type_str.len() + colon.len();
|
let used_width = type_str.len() + colon.len();
|
||||||
let ty_shape = try_opt!(shape.block_left(used_width));
|
let ty_shape = match context.config.where_style() {
|
||||||
|
Style::Legacy => try_opt!(shape.block_left(used_width)),
|
||||||
|
Style::Rfc => shape.block_indent(context.config.tab_spaces()),
|
||||||
|
};
|
||||||
let bounds: Vec<_> =
|
let bounds: Vec<_> =
|
||||||
try_opt!(bounds
|
try_opt!(bounds
|
||||||
.iter()
|
.iter()
|
||||||
|
|
|
@ -42,3 +42,9 @@ struct Exactly100CharsToSemicolon<A, B, C, D, E>
|
||||||
struct AlwaysOnNextLine<LongLongTypename, LongTypename, A, B, C, D, E, F> where A: LongTrait {
|
struct AlwaysOnNextLine<LongLongTypename, LongTypename, A, B, C, D, E, F> where A: LongTrait {
|
||||||
x: i32
|
x: i32
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub trait SomeTrait<T>
|
||||||
|
where
|
||||||
|
T: Something + Sync + Send + Display + Debug + Copy + Hash + Debug + Display + Write + Read + FromStr
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
|
@ -96,3 +96,20 @@ where
|
||||||
{
|
{
|
||||||
x: i32,
|
x: i32,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub trait SomeTrait<T>
|
||||||
|
where
|
||||||
|
T: Something
|
||||||
|
+ Sync
|
||||||
|
+ Send
|
||||||
|
+ Display
|
||||||
|
+ Debug
|
||||||
|
+ Copy
|
||||||
|
+ Hash
|
||||||
|
+ Debug
|
||||||
|
+ Display
|
||||||
|
+ Write
|
||||||
|
+ Read
|
||||||
|
+ FromStr
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue