What's left to do for a stable D2?

Jacob Carlborg doob at me.com
Sun Jan 24 13:32:29 PST 2010


On 1/23/10 18:50, Andrei Alexandrescu wrote:
> Jacob Carlborg wrote:
>> On 1/22/10 17:21, Andrei Alexandrescu wrote:
>>> Jason House wrote:
>>>> Jesse Phillips Wrote:
>>>>
>>>>> Jason House wrote:
>>>>>
>>>>>> Andrei's finishing his last TDPL chapter, Sean is updating
>>>>>> std.thread(?), and Walter's been fixing forward reference and CTFE
>>>>>> bugs. What's left?
>>>>> This page[1] has been getting regular updates, so it should do a good
>>>>> job answering the question.
>>>>>
>>>>> 1.
>>>>> http://www.prowiki.org/wiki4d/wiki.cgi?LanguageDevel#FutureDirections
>>>>
>>>> I believe most "future directions" will be D3 or beyond. I'm pretty
>>>> certain that Andrei wants TDPL to match D2. All but one chapter has
>>>> been written, and TDPL related bugs have gotten priority. There should
>>>> be very few feature changes between now and D2 finalization.
>>>>
>>>> Andrei, Walter, Sean, can you comment?
>>>
>>> You mean the list "Known D2.0, Language"? Here's what I think (Walter is
>>> the ultimate go-to person):
>>>
>>> # Operator overloading: opBinary!("+"), opUnary!("--"),
>>> opIndexAssign!("*").
>>>
>>> D2
>>>
>>> # opDollar ( Bugzilla:3474).
>>>
>>> D2
>>>
>>> # Move complex and imaginary types from language into std.complex.
>>>
>>> D2
>>>
>>> # Fix the array stomping issue (T[new] was one proposal for this).
>>>
>>> We have a design that partially resolves it. Steve Schveighoffer has
>>> implemented it.
>>>
>>> # Remove C-style declarations.
>>>
>>> I don't think they'll be removed, but TDPL doesn't mention them.
>>>
>>> # Remove typedef.
>>>
>>> D2
>>>
>>> # Remove struct initializers.
>>>
>>> Dunno
>>>
>>> # Remove floating point NCEG operators
>>>
>>> D2
>>>
>>> # Remove "length" from array index expressions ( Bugzilla:3474).
>>>
>>> Dunno. Hope so! TDPL won't mention it, so it's real bad if the feature
>>> stays,
>>>
>>>
>>> Andrei
>>
>> What about the uniform function call syntax ?
>
> Far as I know it's already in, with bugs.
>
> Andrei

I've not seen it being mentioned at all and I can't get it to work:

void foo (Object o) { }

void main ()
{
	Object o = new Object;
	o.foo();
}

Compiling the above with dmd trunk results in:
main.d(8): Error: no property 'foo' for type 'object.Object'

Looking at 
http://www.dsource.org/projects/dmd/browser/trunk/src/expression.c#L6483 
it seems it's not implemented.



More information about the Digitalmars-d mailing list