https://issues.dlang.org/show_bug.cgi?id=17770
ag0ae...@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ag0ae...@gmail.com --- Comment #1 from ag0ae...@gmail.com --- Slightly more reduced, and including a variant that throws an AssertError instead of segfaulting: ---- struct S { T* t; } struct T { string name; } S foo(string name) { return S(new T(name[0 .. $])); } int bar(string name) { version (segfault) size_t len = name.length; // segfault else version (asserterror) string n = name; // AssertError@ddmd/ctfeexpr.d(1854) return 0; } const S s = foo(""); enum b = bar(s.t.name); ---- --