Return None when there are comments around trait bounds

This commit is contained in:
Seiichi Uchida 2017-11-10 21:21:53 +09:00
parent 76f5bc06c4
commit 4d28e148a5

View File

@ -942,6 +942,15 @@ pub fn format_trait(context: &RewriteContext, item: &ast::Item, offset: Indent)
rewrite_generics(context, generics, shape, mk_sp(item.span.lo(), body_lo))?;
result.push_str(&generics_str);
// FIXME(#2055): rustfmt fails to format when there are comments between trait bounds.
if !type_param_bounds.is_empty() {
let ident_hi = context.codemap.span_after(item.span, &format!("{}", item.ident));
let bound_hi = type_param_bounds.last().unwrap().span().hi();
let snippet = context.snippet(mk_sp(ident_hi, bound_hi));
if contains_comment(&snippet) {
return None;
}
}
let trait_bound_str = rewrite_trait_bounds(
context,
type_param_bounds,