Safety, undefined behavior, @safe, @trusted
Steven Schveighoffer
schveiguy at yahoo.com
Thu Nov 5 17:38:35 PST 2009
On Thu, 05 Nov 2009 19:44:55 -0500, Walter Bright
<newshound1 at digitalmars.com> wrote:
> Steven Schveighoffer wrote:
>> That is, I have a mutable reference x, I want to make it immutable.
>> How do you write a function to do that?
>> i.e.:
>> @safe void foo()
>> {
>> x = new X();
>> x.modifyState(5);
>> immutable(X) ix = ???; // how to write this part
>> }
>
> If you, the writer of foo(), know that there are no other mutable
> references to x you can cast it to immutable - but you'll have to mark
> the function as @trusted.
But what if I don't what the whole function to be trusted, just that
creation section? I have to create a new function just to create the data?
Maybe function-level granularity isn't good enough...
-Steve
More information about the Digitalmars-d
mailing list