struct Bar { auto c = 'c';} struct Foo { int s = 2; bool b = false; Bar bar;} class FooBar { int t; Foo f; } int i; float f = 3.14; string s = "some string"; Foo foo; Bar bar; dump!(i, f, s, foo, 1+3, foo, bar); // prints: // [dump.d:54 (dump.main)] i = 0 // [dump.d:54 (dump.main)] f = 3.14 // [dump.d:54 (dump.main)] s = some string // [dump.d:54 (dump.main)] foo = (s:2, b:false, bar = (c:c)) // [dump.d:54 (dump.main)] _ = 4 // [dump.d:54 (dump.main)] foo = (s:2, b:false, bar = (c:c)) // [dump.d:54 (dump.main)] bar = (c:c) // [dump.d:54 (dump.main)] fb = (t:0, f = (s:2, b:false, bar = (c:c)))