"\n".to_owned() + &block_shape.indent.to_string(context.config)
};
- let clause_shape = block_shape.block_indent(context.config.tab_spaces());
+ let clause_shape = try_opt!(block_shape.block_left(context.config.tab_spaces()));
+ // 1 = `,`
+ let clause_shape = try_opt!(clause_shape.sub_width(1));
// each clause on one line, trailing comma (except if suppress_comma)
let span_start = where_clause.predicates[0].span().lo();
// If we don't have the start of the next span, then use the end of the
terminator,
|pred| pred.span().lo(),
|pred| pred.span().hi(),
- |pred| pred.rewrite(context, block_shape),
+ |pred| pred.rewrite(context, clause_shape),
span_start,
span_end,
false,
// 6 = "for<> ".len()
let used_width = lifetime_str.len() + type_str.len() + colon.len() + 6;
- let ty_shape = try_opt!(shape.block_left(used_width));
+ let ty_shape = try_opt!(shape.offset_left(used_width));
let bounds: Vec<_> = try_opt!(
bounds
.iter()
let used_width = type_str.len() + colon.len();
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()),
+ Style::Rfc => shape,
};
let bounds: Vec<_> = try_opt!(
bounds
tref.rewrite(context, shape)
}
ast::TyParamBound::TraitTyParamBound(ref tref, ast::TraitBoundModifier::Maybe) => {
- let budget = try_opt!(shape.width.checked_sub(1));
Some(format!(
"?{}",
- try_opt!(tref.rewrite(context, Shape::legacy(budget, shape.indent + 1)))
+ try_opt!(tref.rewrite(context, try_opt!(shape.offset_left(1))))
))
}
ast::TyParamBound::RegionTyParamBound(ref l) => l.rewrite(context, shape),
// 6 is "for<> ".len()
let extra_offset = lifetime_str.len() + 6;
- let max_path_width = try_opt!(shape.width.checked_sub(extra_offset));
- let path_str = try_opt!(self.trait_ref.rewrite(
- context,
- Shape::legacy(max_path_width, shape.indent + extra_offset),
- ));
+ let path_str = try_opt!(
+ self.trait_ref
+ .rewrite(context, try_opt!(shape.offset_left(extra_offset)))
+ );
Some(
if context.config.spaces_within_angle_brackets() && !lifetime_str.is_empty() {
T: Something + Sync + Send + Display + Debug + Copy + Hash + Debug + Display + Write + Read + FromStr
{
}
+
+// #2020
+impl<'a, 'gcx, 'tcx> ProbeContext<'a, 'gcx, 'tcx> {
+ fn elaborate_bounds<F>(&mut self, bounds: &[ty::PolyTraitRef<'tcx>], mut mk_cand: F)
+ where F: for<'b> FnMut(&mut ProbeContext<'b, 'gcx, 'tcx>, ty::PolyTraitRef<'tcx>, ty::AssociatedItem),
+ {
+ // ...
+ }
+}
+ FromStr,
{
}
+
+// #2020
+impl<'a, 'gcx, 'tcx> ProbeContext<'a, 'gcx, 'tcx> {
+ fn elaborate_bounds<F>(&mut self, bounds: &[ty::PolyTraitRef<'tcx>], mut mk_cand: F)
+ where
+ F: for<'b> FnMut(
+ &mut ProbeContext<'b, 'gcx, 'tcx>,
+ ty::PolyTraitRef<'tcx>,
+ ty::AssociatedItem,
+ ),
+ {
+ // ...
+ }
+}