August 14, 2006
Lionello Lunesu wrote:
> Re: Fixed D.bugs/8028
> 
> You've removed 'bit' from the BasicType list, but have not added 'bool'?

Doh!
August 14, 2006
Walter Bright wrote:
> Bruno Medeiros wrote:
>> Walter Bright wrote:
>>> Bug fixes.
>>>
>>> http://www.digitalmars.com/d/changelog.html
>>
>> Are the "D.bugs/7923" (http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/7923), etc., links working? I get an internal server error on those pages.
> 
> The webalizer is quite dead at the moment.
> 

Well, I knew that, my question was more if you can see then internally or something, and how are we to know which bugs they are? ^_^

Hum, I've just noticed the links now work, so now we know. :)

-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
August 14, 2006
Bruno Medeiros wrote:
> Walter Bright wrote:
>> Bruno Medeiros wrote:
>>> Walter Bright wrote:
>>>> Bug fixes.
>>>>
>>>> http://www.digitalmars.com/d/changelog.html
>>>
>>> Are the "D.bugs/7923" (http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/7923), etc., links working? I get an internal server error on those pages.
>>
>> The webalizer is quite dead at the moment.
>>
> 
> Well, I knew that, my question was more if you can see then internally or something, and how are we to know which bugs they are? ^_^
> 
> Hum, I've just noticed the links now work, so now we know. :)

The links to the digitalmars.D group are still broken, because the pnews software apparently crashes from the large number of postings. Methinks it must be internally using a 'short' to represent the message number.
August 14, 2006
Walter Bright wrote:

> Bruno Medeiros wrote:
>> Walter Bright wrote:
>>> Bruno Medeiros wrote:
>>>> Walter Bright wrote:
>>>>> Bug fixes.
>>>>>
>>>>> http://www.digitalmars.com/d/changelog.html
>>>>
>>>> Are the "D.bugs/7923" (http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/7923), etc., links working? I get an internal server error on those pages.
>>>
>>> The webalizer is quite dead at the moment.
>>>
>> 
>> Well, I knew that, my question was more if you can see then internally or something, and how are we to know which bugs they are? ^_^
>> 
>> Hum, I've just noticed the links now work, so now we know. :)
> 
> The links to the digitalmars.D group are still broken, because the pnews software apparently crashes from the large number of postings. Methinks it must be internally using a 'short' to represent the message number.

Well, it's open source (and afaik PHP), so someone so inclined should be able to debug and maybe even fix.

-- 
Lars Ivar Igesund
blog at http://larsivi.net
DSource & #D: larsivi
August 15, 2006
Tom S wrote:
> Walter Bright wrote:
>> Bug fixes.
>>
>> http://www.digitalmars.com/d/changelog.html
> 
> Seems like you have fixed some (all?) problems of the kind "a.b.X conflicts with c.d.X at banana.d(666)". Thanks ! :)
> 
> 
> -- 
> Tomasz Stachowiak  /* a.k.a. h3r3tic */

What problems are those? The import name (mis)conflicts?

-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
August 15, 2006
Walter Bright wrote:
> Bug fixes.
> 
> http://www.digitalmars.com/d/changelog.html

The Bugzilla's version list needs to be uptaded, it's only up to .163 .

-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
August 15, 2006
Bruno Medeiros wrote:
> Tom S wrote:
>> Walter Bright wrote:
>>> Bug fixes.
>>>
>>> http://www.digitalmars.com/d/changelog.html
>>
>> Seems like you have fixed some (all?) problems of the kind "a.b.X conflicts with c.d.X at banana.d(666)". Thanks ! :)
>>
>>
>> -- 
>> Tomasz Stachowiak  /* a.k.a. h3r3tic */
> 
> What problems are those? The import name (mis)conflicts?

Yup, error reports about the exact same symbols accessed thru different means.

b.d:
import a

c.d:
import a

d.d:
import b, c;
// try to use a => disaster

--
Tomasz Stachowiak  /* a.k.a. h3r3tic */
August 15, 2006
Bruno Medeiros wrote:
> Walter Bright wrote:
>> Bug fixes.
>>
>> http://www.digitalmars.com/d/changelog.html
> 
> The Bugzilla's version list needs to be uptaded, it's only up to .163 .

added

August 16, 2006
Tom S wrote:
> Bruno Medeiros wrote:
>> Tom S wrote:
>>> Walter Bright wrote:
>>>> Bug fixes.
>>>>
>>>> http://www.digitalmars.com/d/changelog.html
>>>
>>> Seems like you have fixed some (all?) problems of the kind "a.b.X conflicts with c.d.X at banana.d(666)". Thanks ! :)
>>>
>>>
>>> -- 
>>> Tomasz Stachowiak  /* a.k.a. h3r3tic */
>>
>> What problems are those? The import name (mis)conflicts?
> 
> Yup, error reports about the exact same symbols accessed thru different means.
> 
> b.d:
> import a
> 
> c.d:
> import a
> 
> d.d:
> import b, c;
> // try to use a => disaster
> 
> -- 
> Tomasz Stachowiak  /* a.k.a. h3r3tic */

There is another form that still breaks.

-- 
Bruno Medeiros - MSc in CS/E student
http://www.prowiki.org/wiki4d/wiki.cgi?BrunoMedeiros#D
August 17, 2006
Walter Bright wrote:
> Bug fixes.

Excellent. I'm particularly glad to see bug 279 fixed so soon. Thanks!

I do note, however, that in the fix, you've created a distinction between two different kinds of inner classes, those that refer to local variables and those who don't.

Those who don't access local variables work as they always have (and thus, no old code is broken).

Those who do access local variables can only access them until the containing method returns, just as with inner functions, but (not too surprising when you know the internals) can _also_ only access members of the containing class until the containing method  returns, because (I suppose) access to the containing class now goes through the "this" local variable of the method, instead of directly through the context pointer as usual.

===
abstract class Inner { abstract void print(); }

class Outer
{
    int memberVar = 123;

    Inner inner;

    this()
    {
        int localVar = 42;

        inner = new class Inner
        {
            void print() { printf("%d %d\n", memberVar, localVar); }
        };
        inner.print();
    }

    void print() { inner.print(); }
}

void main()
{
    Outer o = new Outer(); // prints 42 123
    o.print();             // prints two garbage numbers
}
===

If the test-case above is modified to only access memberVar, everything works as expected.

Depending on how deliberate this is, this will need to be either documented or fixed (by having not one, but two content pointers in the inner classes that require it, perhaps).

In either case, I'm very happy with this release, so thanks again!

Søren J. Løvborg
web@kwi.dk