On Friday, 12 January 2018 at 00:54:03 UTC, kdevel wrote:
crash.d
```
import std.stdio;

union U {
   float f;
   int i;
   string toString ()
   {
      string s;
      return s;
   }
}

void main ()
{
   U u;
   writeln (u);
}
```

$ dmd crash.d
$ ./crash


because you don't initialise `s` in

   string toString ()
   {
      string s;
      return s;
   }

so it defaults to `string s = null;` thus giving a segfault.

try `string s = "";` instead.

Reply via email to