September 15, 2010

Don Clugston wrote:
>
> This bug was fixed (I think it's important to include in the changelog
> -- the submitter had complained about it not being fixed).
> 3544 optlink termination 0041338f with recursive nested functions
>
> 

ok.
September 15, 2010

Walter Bright wrote:
>
>
> Rainer Schuetze wrote:
>>
>>
>> I just noticed that the beta still contains the "old" linker 8.00.2.
>
> Fixed.
>
>>
>> (which is kind of good as the mago-debugger has troubles with the new version. It does no longer show watches/locals. The only difference in debug info I could see is that the new version writes udt 'object' twice (not 'object.Object'), but I'm not sure if this triggers the problem. Anything else changed with respect to debug info?)
>>
>
> Hmm, I haven't noticed problems with the debug info with windbg. What's the mago-debugger?
>

Just checked again, I can see locals with windbg.
September 15, 2010
-------- Original-Nachricht --------
> Datum: Wed, 15 Sep 2010 02:47:22 -0700
> Von: Walter Bright <walter at digitalmars.com>
> An: Discuss the dmd beta releases for D <dmd-beta at puremagic.com>
> Betreff: Re: [dmd-beta] dmd 2.049 beta

> 
> 
> Walter Bright wrote:
> >
> >
> > Rainer Schuetze wrote:
> >>
> >>
> >> I just noticed that the beta still contains the "old" linker 8.00.2.
> >
> > Fixed.
> >
> >>
> >> (which is kind of good as the mago-debugger has troubles with the new version. It does no longer show watches/locals. The only difference in debug info I could see is that the new version writes udt 'object' twice (not 'object.Object'), but I'm not sure if this triggers the problem. Anything else changed with respect to debug info?)
> >>
> >
> > Hmm, I haven't noticed problems with the debug info with windbg. What's the mago-debugger?
> >
> 
> Just checked again, I can see locals with windbg.
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta

The mago-debugger is a recently created visual studio debug engine dedicated to D applications written with dmd.
cv2pdb also has no problem with converting the debug info, but maybe there are some areas unused by windbg or cv2pdb that mago relies upon.
I've also informed the author of mago about this problem, maybe he can give more details.
-- 
Neu: GMX De-Mail - Einfach wie E-Mail, sicher wie ein Brief! Jetzt De-Mail-Adresse reservieren: http://portal.gmx.net/de/go/demail
September 15, 2010
I don't know how that made it in. David?

Andrei

On 9/15/10 4:39 CDT, Masahiro Nakagawa wrote:
> I noticed the difference of isOutputRange behavior.
>
> http://ideone.com/HsmaL
>
> Pointer version of isOutputRange returns false on 2.048 and 2.049beta. I did't find the related changelog. Is this a bug?
>
>
> Masahiro
>
> On Wed, 15 Sep 2010 06:20:32 +0900, Walter Bright
> <walter at digitalmars.com> wrote:
>
>> http://ftp.digitalmars.com/dmd2beta.zip
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
September 15, 2010
Here be the problem.  I guess the solution is to make hasMember work w/ pointers to structs.

// In std.traits:
template hasMember(T, string name)
{
    static if (is(T == struct) || is(T == class))
    {
        enum bool hasMember =
            staticIndexOf!(name, __traits(allMembers, T)) != -1;
    }
    else
    {
        enum bool hasMember = false;
    }
}

This is never true for a pointer.  isOutputRange checks whether put()
compiles.  The free function put() checks for having a put() member, which
fails for pointers to structs.

On Wed, Sep 15, 2010 at 10:48 AM, Andrei Alexandrescu <andrei at erdani.com>wrote:

> I don't know how that made it in. David?
>
> Andrei
>
>
> On 9/15/10 4:39 CDT, Masahiro Nakagawa wrote:
>
>> I noticed the difference of isOutputRange behavior.
>>
>> http://ideone.com/HsmaL
>>
>> Pointer version of isOutputRange returns false on 2.048 and 2.049beta. I did't find the related changelog. Is this a bug?
>>
>>
>> Masahiro
>>
>> On Wed, 15 Sep 2010 06:20:32 +0900, Walter Bright
>> <walter at digitalmars.com> wrote:
>>
>>  http://ftp.digitalmars.com/dmd2beta.zip
>>> _______________________________________________
>>> dmd-beta mailing list
>>> dmd-beta at puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/dmd-beta/attachments/20100915/b8e8b24e/attachment.html>
September 15, 2010
I've hit a bad assertion in the new std.range.SortedRange:

            immutable size_t msb = bsr(this._input.length) + 1;
            assert(msb > 0 && msb < this._input.length);

fails for length 2.


Walter Bright wrote:
> New beta up with your corrections.
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>

September 15, 2010
Speaking of sortedRange, I think we need to put lowerBound, upperBound and canFindSorted back in std.algorithm, but make them scheduled for deprecation.  I was actually using these and a bunch of my code broke.

In general, I don't think we need to be anal about backwards compatibility in Phobos yet, but I think that when things are removed they should always be scheduled for deprecation for a few releases, then deprecated for a few releases, never removed without any warning whatsoever.

On Wed, Sep 15, 2010 at 1:31 PM, Rainer Schuetze <r.sagitario at gmx.de> wrote:

>
> I've hit a bad assertion in the new std.range.SortedRange:
>
>           immutable size_t msb = bsr(this._input.length) + 1;
>           assert(msb > 0 && msb < this._input.length);
>
> fails for length 2.
>
>
>
> Walter Bright wrote:
>
>> New beta up with your corrections.
>>
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/dmd-beta/attachments/20100915/6d757c93/attachment-0001.html>
September 15, 2010
I agree. Sorry for breaking your code.

Andrei

On 9/15/10 12:45 CDT, David Simcha wrote:
> Speaking of sortedRange, I think we need to put lowerBound, upperBound and canFindSorted back in std.algorithm, but make them scheduled for deprecation.  I was actually using these and a bunch of my code broke.
>
> In general, I don't think we need to be anal about backwards
> compatibility in Phobos yet, but I think that when things are removed
> they should always be scheduled for deprecation for a few releases, then
> deprecated for a few releases, never removed without any warning whatsoever.
>
> On Wed, Sep 15, 2010 at 1:31 PM, Rainer Schuetze <r.sagitario at gmx.de <mailto:r.sagitario at gmx.de>> wrote:
>
>
>     I've hit a bad assertion in the new std.range.SortedRange:
>
>                immutable size_t msb = bsr(this._input.length) + 1;
>                assert(msb > 0 && msb < this._input.length);
>
>     fails for length 2.
>
>
>
>     Walter Bright wrote:
>
>         New beta up with your corrections.
>
>         _______________________________________________
>         dmd-beta mailing list
>         dmd-beta at puremagic.com <mailto:dmd-beta at puremagic.com>
>         http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
>     _______________________________________________
>     dmd-beta mailing list
>     dmd-beta at puremagic.com <mailto:dmd-beta at puremagic.com>
>     http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>
>
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
September 15, 2010
I agree that we can't keep yanking stuff with no warning and yet call Phobos2 production ready.

David Simcha wrote:
> Speaking of sortedRange, I think we need to put lowerBound, upperBound and canFindSorted back in std.algorithm, but make them scheduled for deprecation.  I was actually using these and a bunch of my code broke.
>
> In general, I don't think we need to be anal about backwards compatibility in Phobos yet, but I think that when things are removed they should always be scheduled for deprecation for a few releases, then deprecated for a few releases, never removed without any warning whatsoever.
>
> On Wed, Sep 15, 2010 at 1:31 PM, Rainer Schuetze <r.sagitario at gmx.de <mailto:r.sagitario at gmx.de>> wrote:
>
>
>     I've hit a bad assertion in the new std.range.SortedRange:
>
>               immutable size_t msb = bsr(this._input.length) + 1;
>               assert(msb > 0 && msb < this._input.length);
>
>     fails for length 2.
>
>
September 15, 2010
Whoa.. who's calling any of d2 production ready?

On Wed, 15 Sep 2010, Walter Bright wrote:

> I agree that we can't keep yanking stuff with no warning and yet call Phobos2 production ready.
> 
> David Simcha wrote:
> > Speaking of sortedRange, I think we need to put lowerBound, upperBound and
> > canFindSorted back in std.algorithm, but make them scheduled for
> > deprecation.  I was actually using these and a bunch of my code broke.
> > In general, I don't think we need to be anal about backwards compatibility
> > in Phobos yet, but I think that when things are removed they should always
> > be scheduled for deprecation for a few releases, then deprecated for a few
> > releases, never removed without any warning whatsoever.
> > 
> > On Wed, Sep 15, 2010 at 1:31 PM, Rainer Schuetze <r.sagitario at gmx.de <mailto:r.sagitario at gmx.de>> wrote:
> > 
> > 
> >     I've hit a bad assertion in the new std.range.SortedRange:
> > 
> >               immutable size_t msb = bsr(this._input.length) + 1;
> >               assert(msb > 0 && msb < this._input.length);
> > 
> >     fails for length 2.
> > 
> > 
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>