Thread overview
[dmd-internals] Most important patches before release of DMD2.047
Jun 09, 2010
Don Clugston
Jun 09, 2010
Brad Roberts
Jun 09, 2010
Don Clugston
Jun 09, 2010
Brad Roberts
Jun 09, 2010
Don Clugston
Jun 10, 2010
Walter Bright
June 09, 2010
There are a few more critical bugs which should be included in the next release if possible.

(1) This wrong-code bug is subtle and disastrous. It affects even simple C code. 3398 Attributes inside a union screws data alignment

(2) The new _error type should be a killer feature, but if the simple
cases aren't dealt with, people will scream about it.
Fixing these test cases will totally change the feel of the release.
(This doesn't have a patch, since it's a pile of trivial, repetitive
changes.  But I think the test case is quite useful).
4296 Reduce parasitic error messages

(3) This one is not so critical, but quite embarrassing. It creates the impression that user-defined operators haven't been tested at all! 4231 Solitary opUnary Postincrement and Postdecrement user defined operators are broken.

Less critical, but utterly trivial to fix are these missing line number bugs: 3662 Wrong compile error within struct constructor and C-style initializer 4270 Missing line number in 'can only catch class objects' error message

Of course there are many other worthwhile patches, but I think these ones are the most urgent.
June 09, 2010
I'd dearly love to see 3516 (struct dtors don't work for anything interesting) included, in that list.  It's rather embarrassing that struct copy ctor and dtor were added pretty much specifically to support making a smart pointer struct, but it's still not possible.

However, I fear that the fix for it is going to be rather intrusive and would probably be better off waiting for the subsequent release.

Nice list.

Later,
Brad

On 6/9/2010 1:13 AM, Don Clugston wrote:
> There are a few more critical bugs which should be included in the next release if possible.
> 
> (1) This wrong-code bug is subtle and disastrous. It affects even simple C code. 3398 Attributes inside a union screws data alignment
> 
> (2) The new _error type should be a killer feature, but if the simple
> cases aren't dealt with, people will scream about it.
> Fixing these test cases will totally change the feel of the release.
> (This doesn't have a patch, since it's a pile of trivial, repetitive
> changes.  But I think the test case is quite useful).
> 4296 Reduce parasitic error messages
> 
> (3) This one is not so critical, but quite embarrassing. It creates the impression that user-defined operators haven't been tested at all! 4231 Solitary opUnary Postincrement and Postdecrement user defined operators are broken.
> 
> Less critical, but utterly trivial to fix are these missing line number bugs: 3662 Wrong compile error within struct constructor and C-style initializer 4270 Missing line number in 'can only catch class objects' error message
> 
> Of course there are many other worthwhile patches, but I think these ones are the most urgent.
June 09, 2010
On 9 June 2010 10:42, Brad Roberts <braddr at puremagic.com> wrote:
> I'd dearly love to see 3516 (struct dtors don't work for anything interesting) included, in that list. ?It's rather embarrassing that struct copy ctor and dtor were added pretty much specifically to support making a smart pointer struct, but it's still not possible.

Completely agree.

> However, I fear that the fix for it is going to be rather intrusive and would probably be better off waiting for the subsequent release.

If we can get a patch for it, I'd include it at the top of the list. But my list was only bugs with patches ready.
June 09, 2010
On 6/9/2010 1:57 AM, Don Clugston wrote:
> On 9 June 2010 10:42, Brad Roberts <braddr at puremagic.com> wrote:
>> I'd dearly love to see 3516 (struct dtors don't work for anything interesting) included, in that list.  It's rather embarrassing that struct copy ctor and dtor were added pretty much specifically to support making a smart pointer struct, but it's still not possible.
> 
> Completely agree.
> 
>> However, I fear that the fix for it is going to be rather intrusive and would probably be better off waiting for the subsequent release.
> 
> If we can get a patch for it, I'd include it at the top of the list. But my list was only bugs with patches ready. _______________________________________________

I decided to leave it for Walter. :(
June 09, 2010
On 9 June 2010 11:04, Brad Roberts <braddr at puremagic.com> wrote:
> On 6/9/2010 1:57 AM, Don Clugston wrote:
>> On 9 June 2010 10:42, Brad Roberts <braddr at puremagic.com> wrote:
>>> I'd dearly love to see 3516 (struct dtors don't work for anything interesting) included, in that list. ?It's rather embarrassing that struct copy ctor and dtor were added pretty much specifically to support making a smart pointer struct, but it's still not possible.
>>
>> Completely agree.
>>
>>> However, I fear that the fix for it is going to be rather intrusive and would probably be better off waiting for the subsequent release.
>>
>> If we can get a patch for it, I'd include it at the top of the list. But my list was only bugs with patches ready. _______________________________________________
>
> I decided to leave it for Walter. :(

So basically, CallExp needs to turn into   (auto tmp = CallExp,
tmp.~this() ); if it's returning a struct with a destructor, and the
return value isn't used. But currently, CallExp doesn't have any way
of knowing if its return value will be used.
Yeah, definitely one for Walter.
June 09, 2010
Whatever Walter decides to fix, we must provide a solid release soon - ideally today.

Andrei

On 06/09/2010 04:04 AM, Brad Roberts wrote:
> On 6/9/2010 1:57 AM, Don Clugston wrote:
>> On 9 June 2010 10:42, Brad Roberts<braddr at puremagic.com>  wrote:
>>> I'd dearly love to see 3516 (struct dtors don't work for anything interesting) included, in that list.  It's rather embarrassing that struct copy ctor and dtor were added pretty much specifically to support making a smart pointer struct, but it's still not possible.
>>
>> Completely agree.
>>
>>> However, I fear that the fix for it is going to be rather intrusive and would probably be better off waiting for the subsequent release.
>>
>> If we can get a patch for it, I'd include it at the top of the list. But my list was only bugs with patches ready. _______________________________________________
>
> I decided to leave it for Walter. :(
> _______________________________________________
> dmd-internals mailing list
> dmd-internals at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-internals
June 09, 2010
These are checked in now. Thanks!

Don Clugston wrote:
> There are a few more critical bugs which should be included in the next release if possible.
>
> (1) This wrong-code bug is subtle and disastrous. It affects even simple C code. 3398 Attributes inside a union screws data alignment
>
> (2) The new _error type should be a killer feature, but if the simple
> cases aren't dealt with, people will scream about it.
> Fixing these test cases will totally change the feel of the release.
> (This doesn't have a patch, since it's a pile of trivial, repetitive
> changes.  But I think the test case is quite useful).
> 4296 Reduce parasitic error messages
>
> (3) This one is not so critical, but quite embarrassing. It creates the impression that user-defined operators haven't been tested at all! 4231 Solitary opUnary Postincrement and Postdecrement user defined operators are broken.
>
> Less critical, but utterly trivial to fix are these missing line number bugs: 3662 Wrong compile error within struct constructor and C-style initializer 4270 Missing line number in 'can only catch class objects' error message
>
> Of course there are many other worthwhile patches, but I think these ones are the most urgent.
>
>