diff --git a/src/comment.rs b/src/comment.rs index 5a525f1bb23d..4ced667ef78a 100644 --- a/src/comment.rs +++ b/src/comment.rs @@ -435,10 +435,10 @@ impl<'a> Iterator for UngroupedCommentCodeSlices<'a> { None => &self.slice[start_idx..], }; Some((if kind.is_comment() { - CodeCharKind::Comment - } else { - CodeCharKind::Normal - }, + CodeCharKind::Comment + } else { + CodeCharKind::Normal + }, start_idx, slice)) } diff --git a/src/expr.rs b/src/expr.rs index 11e2ca881457..58e2c732bc82 100644 --- a/src/expr.rs +++ b/src/expr.rs @@ -1732,11 +1732,16 @@ pub fn rewrite_tuple<'a, I>(context: &RewriteContext, ::Target: Rewrite + Spanned + 'a { let indent = offset + 1; + let aligned = RewriteContext { block_indent: indent, ..context.clone() }; + // In case of length 1, need a trailing comma if items.len() == 1 { // 3 = "(" + ",)" let budget = try_opt!(width.checked_sub(3)); - return items.next().unwrap().rewrite(context, budget, indent).map(|s| format!("({},)", s)); + return items.next() + .unwrap() + .rewrite(&aligned, budget, indent) + .map(|s| format!("({},)", s)); } let list_lo = context.codemap.span_after(span, "("); @@ -1749,7 +1754,7 @@ pub fn rewrite_tuple<'a, I>(context: &RewriteContext, let inner_width = try_opt!(context.config .max_width .checked_sub(indent.width() + 1)); - item.rewrite(context, inner_width, indent) + item.rewrite(&aligned, inner_width, indent) }, list_lo, span.hi - BytePos(1)); diff --git a/tests/source/tuple.rs b/tests/source/tuple.rs new file mode 100644 index 000000000000..b28e83d2f082 --- /dev/null +++ b/tests/source/tuple.rs @@ -0,0 +1,34 @@ +// Test tuple litterals + +fn foo() { + let a = (a, a, a, a, a); + let aaaaaaaaaaaaaaaa = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, aaaaaaaaaaaaaa, aaaaaaaaaaaaaa); + let aaaaaaaaaaaaaaaaaaaaaa = (aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa, + aaaaaaaaaaaaaaaaaaaaaaaaa, + aaaa); + let a = (a,); + + let b = (// This is a comment + b, // Comment + b /* Trailing comment */); +} + +fn a() { + ((aaaaaaaa, + aaaaaaaaaaaaa, + aaaaaaaaaaaaaaaaa, + aaaaaaaaaaaaaa, + aaaaaaaaaaaaaaaa, + aaaaaaaaaaaaaa),) +} + +fn b() { + ((bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb), + bbbbbbbbbbbbbbbbbb) +} + +fn issue550() { + self.visitor.visit_volume(self.level.sector_id(sector), (floor_y, + if is_sky_flat(ceil_tex) {from_wad_height(self.height_range.1)} else {ceil_y})); +} diff --git a/tests/target/tuple.rs b/tests/target/tuple.rs index a5bcc7f701a7..2d1d0b808d78 100644 --- a/tests/target/tuple.rs +++ b/tests/target/tuple.rs @@ -27,3 +27,13 @@ fn b() { ((bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb, bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb), bbbbbbbbbbbbbbbbbb) } + +fn issue550() { + self.visitor.visit_volume(self.level.sector_id(sector), + (floor_y, + if is_sky_flat(ceil_tex) { + from_wad_height(self.height_range.1) + } else { + ceil_y + })); +}