DMD 0.163 release

clayasaurus clayasaurus at gmail.com
Tue Jul 18 19:02:50 PDT 2006


Kirk McDonald wrote:
> clayasaurus wrote:
>> Walter Bright wrote:
>>
>>>
>>> http://www.digitalmars.com/d/changelog.html
>>>
>>> This has all the new import changes in it. That breaks a lot of 
>>> existing code (like dmdscript), the fixes are simple (adding more 
>>> import declarations) but tedious.
>>>
>>> I couldn't find a better keyword choice than "static import".
>>>
>>> The renaming uses '=' instead of 'as', 'from', or 'alias' for the 
>>> reasons:
>>>
>>> 1) didn't want to add new keywords, especially ones like 'as' as I 
>>> use that as a variable name
>>>
>>> 2) didn't need to add new keywords - adding them should be done only 
>>> if using punctuation is completely unappealing
>>>
>>> 3) using '=' and ':' is visually more distinct than embedded keywords.
>>
>>
>> *Imports now default to private instead of public. Breaks existing code.*
>>
>> Horray! :) This shouldn't break too much of my code because I already 
>> use 'private import' everywhere.
>>
>> *Object.opCmp now throws an error. Should override it if used. Breaks 
>> existing code.*
>>
>> Can someone spell this out for me? *confused*
>>
> 
> If you write a class that does not override "opCmp", it is now a runtime 
> error to attempt to compare instances of it:
> 
> class A { }
> 
> void main() {
>     A a = new A;
>     A b = new A;
>     if (a < b) { // Error is thrown
>         // ...
>     }
> }
> 
> Previously, the base Object class defined opCmp to compare the addresses 
> in memory of the two instances (or something like that). Thus, it 
> worked, but did nothing particularly useful, except insofar as "opCmp" 
> always compared /something/. (This can be useful when writing, e.g. some 
> templated container classes.) I think this is probably a good change.
> 
>> *Added static imports, renamed imports, and selective importing.*
>>
>> Can someone show me how this is supposed to work as well? *confused*
>>
> 
> The best explanation is in the spec:
> http://www.digitalmars.com/d/module.html#ImportDeclaration
> 
> On a slightly related note, I have updated my keyword index with the new 
> meaning of "static":
> http://www.prowiki.org/wiki4d/wiki.cgi?LanguageSpecification/KeywordIndex
> 

Thanks!
~ Clay



More information about the Digitalmars-d-announce mailing list