Writing const-correct code in D
Kevin Bealer
Kevin_member at pathlink.com
Wed Mar 8 21:09:06 PST 2006
In article <dun85t$33t$1 at digitaldaemon.com>, Kevin Bealer says...
>
>In article <dumhec$21bq$1 at digitaldaemon.com>, xs0 says...
>>
>>Kevin Bealer wrote:
>..
>>OK, this is like the 5000th post I've read regarding const correctness
>>and related issues in D. Can we really not come to some kind of an
>>agreement on what would be best? I'm sure if there's a consensus about a
>>solution, Walter will eventually implement it.
>>
>..
>>- conceptually, each class definition (say Foo : Bar) produces two new
>>types, "readonly Foo : readonly Bar" and "Foo : readonly Foo, Bar", the
>>first of which only contains readonly methods, while the second contains
>>all others. That makes it trivial to do verification and overloading,
>>and has a nice feature that there is no need to actually compile the
>>readonly version, as all verification is done statically, so there is no
>>increase in code size etc.
>
>This sounds like it has nearly the same properties as what I'm proposing. The
>main difference seems to be that you can designate methods as only usable in the
>readonly case. (I'm not sure what that would be useful for, though.)
>
>Notice that the inheritance hierarchy described in the paragraph above is the
>*same* as what I wrote.
But that part got cut off (sorry bout that), you can find it in the second
thread by me with the same title. - Kevin
>My point, if you read my post, was that you don't need to introduce new keywords
>or syntax. If you want or need the division between const/nonconst for a
>particular type, it can be written in existing D.
>
>Kevin
>
>
More information about the Digitalmars-d
mailing list