summaryrefslogtreecommitdiffstats
path: root/src/tools/rustfmt/tests/target/struct_lits_multiline.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/tools/rustfmt/tests/target/struct_lits_multiline.rs')
-rw-r--r--src/tools/rustfmt/tests/target/struct_lits_multiline.rs117
1 files changed, 117 insertions, 0 deletions
diff --git a/src/tools/rustfmt/tests/target/struct_lits_multiline.rs b/src/tools/rustfmt/tests/target/struct_lits_multiline.rs
new file mode 100644
index 000000000..b29aafd05
--- /dev/null
+++ b/src/tools/rustfmt/tests/target/struct_lits_multiline.rs
@@ -0,0 +1,117 @@
+// rustfmt-normalize_comments: true
+// rustfmt-wrap_comments: true
+// rustfmt-struct_lit_single_line: false
+
+// Struct literal expressions.
+
+fn main() {
+ let x = Bar;
+
+ // Comment
+ let y = Foo {
+ a: x,
+ };
+
+ Foo {
+ a: foo(), // comment
+ // comment
+ b: bar(),
+ ..something
+ };
+
+ Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo {
+ a: foo(),
+ b: bar(),
+ };
+
+ Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo {
+ a: foo(),
+ b: bar(),
+ };
+
+ Foooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo {
+ // Comment
+ a: foo(), // Comment
+ // Comment
+ b: bar(), // Comment
+ };
+
+ Foo {
+ a: Bar,
+ b: foo(),
+ };
+
+ Quux {
+ x: if cond {
+ bar();
+ },
+ y: baz(),
+ };
+
+ A {
+ // Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec a diam lectus. Sed sit
+ // amet ipsum mauris. Maecenas congue ligula ac quam viverra nec consectetur ante hendrerit.
+ // Donec et mollis dolor.
+ first: item(),
+ // Praesent et diam eget libero egestas mattis sit amet vitae augue.
+ // Nam tincidunt congue enim, ut porta lorem lacinia consectetur.
+ second: Item,
+ };
+
+ Some(Data::MethodCallData(MethodCallData {
+ span: sub_span.unwrap(),
+ scope: self.enclosing_scope(id),
+ ref_id: def_id,
+ decl_id: Some(decl_id),
+ }));
+
+ Diagram {
+ // o This graph demonstrates how
+ // / \ significant whitespace is
+ // o o preserved.
+ // /|\ \
+ // o o o o
+ graph: G,
+ }
+}
+
+fn matcher() {
+ TagTerminatedByteMatcher {
+ matcher: ByteMatcher {
+ pattern: b"<HTML",
+ mask: b"\xFF\xDF\xDF\xDF\xDF\xFF",
+ },
+ };
+}
+
+fn issue177() {
+ struct Foo<T> {
+ memb: T,
+ }
+ let foo = Foo::<i64> {
+ memb: 10,
+ };
+}
+
+fn issue201() {
+ let s = S {
+ a: 0,
+ ..b
+ };
+}
+
+fn issue201_2() {
+ let s = S {
+ a: S2 {
+ ..c
+ },
+ ..b
+ };
+}
+
+fn issue491() {
+ Foo {
+ guard: None,
+ arm: 0, // Comment
+ };
+}