Safety, undefined behavior, @safe, @trusted

Jason House jason.james.house at gmail.com
Thu Nov 5 19:00:10 PST 2009


Walter Bright Wrote:

> Jason House wrote:
> > I posted in the other thread how casting to immutable/shared can be
> > just as bad. A leaked reference prior to casting to immutable/shared
> > is in effect the same as casting away shared. No matter how you mix
> > thread local and shared, or mutable and immutable, you still have the
> > same undefined behavior
> 
> Not undefined, it's just that the compiler can't prove it's defined 
> behavior. Hence, such code would go into a trusted function.

Might not be defined is still undefined as far as safeD is concerned. I'll be happy if you simply list casting to shared and immutable when listing what isn't allowed in safe functions (and not just casting it away.



More information about the Digitalmars-d mailing list