On 8/19/2012 5:08 AM, bearophile wrote:
With a different type system the compiler makes sure at compile-time that x is not empty (this means the compiler makes sure in no code paths x is used before testing it contains something), avoiding the run-time exception.
That's called disabling the default constructor with @disable.