| /* |
| TEST_OUTPUT: |
| --- |
| fail_compilation/test14496.d(21): Error: variable `test14496.foo.f` `void` initializers for pointers not allowed in safe functions |
| fail_compilation/test14496.d(24): Error: variable `test14496.foo.Bar.foo` `void` initializers for pointers not allowed in safe functions |
| fail_compilation/test14496.d(28): Error: variable `test14496.foo.Baz.x` `void` initializers for pointers not allowed in safe functions |
| fail_compilation/test14496.d(48): Error: variable `test14496.sinister.bar` `void` initializers for pointers not allowed in safe functions |
| fail_compilation/test14496.d(49): Error: variable `test14496.sinister.baz` `void` initializers for pointers not allowed in safe functions |
| --- |
| */ |
| // https://issues.dlang.org/show_bug.cgi?id=14496 |
| |
| @safe void foo() |
| { |
| struct Foo { |
| int* indirection1; |
| Object indirection2; |
| string[] indirection3; |
| } |
| |
| Foo f = void; |
| |
| struct Bar { |
| Foo foo = void; |
| } |
| |
| struct Baz { |
| int* x = void; |
| } |
| } |
| |
| |
| struct Foo { |
| int* indirection1; |
| Object indirection2; |
| string[] indirection3; |
| } |
| |
| struct Bar { |
| Foo foo = void; |
| } |
| |
| struct Baz { |
| int* x = void; |
| } |
| |
| @safe void sinister() { |
| Bar bar; |
| Baz baz; |
| } |