// 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" { memb: T, } let foo = Foo:: { memb: 10 }; } fn issue201() { let s = S { a: 0, ..b }; } fn issue201_2() { let s = S { a: S2 { ..c }, ..b }; } fn issue278() { let s = S { a: 0, // b: 0, }; let s1 = S { a: 0, // foo // // bar b: 0, }; }