On Friday, 14 August 2015 at 17:44:11 UTC, Steven Schveighoffer
wrote:
On 8/14/15 1:36 PM, Jack Stouffer wrote:
Recently, I made the mistake of trying to reference an enum
pointer in a
struct before it was set (see example below). I was wondering
if it's
possible for DMD to catch this mistake at compile time, as this
currently compiles fine and segfaults on execution.
state *is* set to null, before your constructor is called. The
access is not "before it was set".
Could the compiler *possibly* flag this as an error? It could,
but it doesn't, and likely won't in the future.
-Steve
I'm confused. If state is set to null on struct initialization,
then why does accessing that memory segfault? Shouldn't the if
condition just fail?