Thread overview | |||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
March 05, 2004 DMD 0.80 release | ||||
---|---|---|---|---|
| ||||
Didn't get all the bugs I wanted fixed done, but there's enough to justify a bug fix update. http://www.digitalmars.com/d/changelog.html |
March 05, 2004 Re: DMD 0.80 release - access to protected this | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | In article <c2ap6r$2s75$1@digitaldaemon.com>, Walter says... > >Didn't get all the bugs I wanted fixed done, but there's enough to justify a bug fix update. > >http://www.digitalmars.com/d/changelog.html > dmd is getting so usable that we (almost) don't think on the next version all the time. great job! but... seems something is wrong ########### file A.d class AA { protected: this() { printf("class AA\n"); } } ########## file AB.dimport A; class B : AA { public this() { super(); printf("class B\n"); } } void main() { new B; } ######### dmd A AB -I~/dmd/src/phobos AB.d(8): class AA member this is not accessible if classes AA and B and on the same module compiles and runs OK ######### Ant |
March 05, 2004 Re: DMD 0.80 release - access to protected this | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ant | I should add that is the AA.this
is public compiles and runs ok.
Ant
On Fri, 05 Mar 2004 21:33:25 +0000, Ant wrote:
> In article <c2ap6r$2s75$1@digitaldaemon.com>, Walter says...
>>
>>Didn't get all the bugs I wanted fixed done, but there's enough to justify a bug fix update.
>>
>>http://www.digitalmars.com/d/changelog.html
>>
>
> dmd is getting so usable that we (almost) don't think
> on the next version all the time. great job!
>
> but...
>
> seems something is wrong
> ########### file A.d
> class AA
> {
> protected:
> this()
> {
> printf("class AA\n");
> }
> }
>
> ########## file AB.dimport A;
>
> class B : AA
> {
> public
> this()
> {
> super();
> printf("class B\n");
> }
> }
>
> void main()
> {
> new B;
> }
>
> #########
> dmd A AB -I~/dmd/src/phobos
> AB.d(8): class AA member this is not accessible
>
> if classes AA and B and on the same module compiles and runs OK #########
>
> Ant
|
March 05, 2004 Re: DMD 0.80 release - access to protected this | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ant | I should add...
Walter, maybe you could keep a couple of
larger applications to test with each new
release.
I found this just trying to compile DUI.
Ant
On Fri, 05 Mar 2004 16:19:48 -0500, Ant wrote:
> I should add that if the AA.this
> is public compiles and runs ok.
>
> Ant
>
>
> On Fri, 05 Mar 2004 21:33:25 +0000, Ant wrote:
>
>> In article <c2ap6r$2s75$1@digitaldaemon.com>, Walter says...
>>>
>>>Didn't get all the bugs I wanted fixed done, but there's enough to justify a bug fix update.
>>>
>>>http://www.digitalmars.com/d/changelog.html
>>>
>>
>> dmd is getting so usable that we (almost) don't think
>> on the next version all the time. great job!
>>
>> but...
>>
>> seems something is wrong
>> ########### file A.d
>> class AA
>> {
>> protected:
>> this()
>> {
>> printf("class AA\n");
>> }
>> }
>>
>> ########## file AB.dimport A;
>>
>> class B : AA
>> {
>> public
>> this()
>> {
>> super();
>> printf("class B\n");
>> }
>> }
>>
>> void main()
>> {
>> new B;
>> }
>>
>> #########
>> dmd A AB -I~/dmd/src/phobos
>> AB.d(8): class AA member this is not accessible
>>
>> if classes AA and B and on the same module compiles and runs OK #########
>>
>> Ant
|
March 05, 2004 Re: DMD 0.80 release - access to protected this | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ant | "Ant" <Ant_member@pathlink.com> wrote in message news:c2arn5$30k2$1@digitaldaemon.com... > dmd is getting so usable that we (almost) don't think > on the next version all the time. great job! Thanks! One huge advantage D has, for a new language, is it uses the existing debugged optimizer and code generator from DMC++. > but... > > seems something is wrong > ########### file A.d > class AA > { > protected: > this() > { > printf("class AA\n"); > } > } > > ########## file AB.dimport A; > > class B : AA > { > public > this() > { > super(); > printf("class B\n"); > } > } > > void main() > { > new B; > } > > ######### > dmd A AB -I~/dmd/src/phobos > AB.d(8): class AA member this is not accessible > > if classes AA and B and on the same module compiles and runs OK ######### That looks like a bug :-( |
March 06, 2004 Re: DMD 0.80 release - segfault on module = class name | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | On Fri, 05 Mar 2004 12:47:31 -0800, Walter wrote:
> Didn't get all the bugs I wanted fixed done, but there's enough to justify a bug fix update.
>
> http://www.digitalmars.com/d/changelog.html
I forgot to say:
on the other example I had
class AA
on module A
because dmd segfaults if
class A is on module A...
Ant
|
March 06, 2004 Re: DMD 0.80 release - segfault on module = class name | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ant | "Ant" <duitoolkit@yahoo.ca> wrote in message news:pan.2004.03.06.01.52.45.24161@yahoo.ca... > On Fri, 05 Mar 2004 12:47:31 -0800, Walter wrote: > > > Didn't get all the bugs I wanted fixed done, but there's enough to justify a > > bug fix update. > > > > http://www.digitalmars.com/d/changelog.html > > I forgot to say: > > on the other example I had > class AA > on module A > because dmd segfaults if > class A is on module A... Can you post a code example, please? |
March 06, 2004 Re: DMD 0.80 release - segfault on module = class name | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | On Fri, 05 Mar 2004 18:39:01 -0800, Walter wrote:
>
> "Ant" <duitoolkit@yahoo.ca> wrote in message news:pan.2004.03.06.01.52.45.24161@yahoo.ca...
>> On Fri, 05 Mar 2004 12:47:31 -0800, Walter wrote:
>>
>> > Didn't get all the bugs I wanted fixed done, but there's enough to
> justify a
>> > bug fix update.
>> >
>> > http://www.digitalmars.com/d/changelog.html
>>
>> I forgot to say:
>>
>> on the other example I had
>> class AA
>> on module A
>> because dmd segfaults if
>> class A is on module A...
>
> Can you post a code example, please?
here:
############ file Same.d
module Same; // makes no difference if removed
class Same
{
this()
{
printf("Same\n");
}
}
############ file Other.d
modules Other; // makes no difference if removed
import Same;
class Other : Same // segfault
// class Other : Same.Same //***UGLY ALERT*** but doesn't segfault
{
this()
{
printf("other\n");
}
}
void main()
{
new Other;
}
############
dmd Same Other -I~/dmd/src/phobos
Segmentation fault
with the alternate line "class Other : Same.Same"
is used it compiles and runs as expected
but it's kind of ugly.
however on the real world I expect things be like:
import same.Leds;
class Other : Same{}
and the problem might go away...
let me try:
... trying...
I don't have time now... but the compiler is saying:
"same/Other.d(3): module Same is in multiple packages same.Same"
maybe it's my fault I'll check it later.
Ant
|
March 06, 2004 Re: DMD 0.80 release | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | Walter wrote: >Didn't get all the bugs I wanted fixed done, but there's enough to justify a >bug fix update. > >http://www.digitalmars.com/d/changelog.html > > > Thanks to the explicit cast and the abstract class changes, I've actually pick up two hidden bugs in an existing program already. Great job! -- -Anderson: http://badmama.com.au/~anderson/ |
March 06, 2004 Re: DMD 0.80 release - segfault on module = class name | ||||
---|---|---|---|---|
| ||||
Posted in reply to Ant | On Fri, 05 Mar 2004 22:49:13 -0500, Ant wrote:
> On Fri, 05 Mar 2004 18:39:01 -0800, Walter wrote:
>
>>
>> "Ant" <duitoolkit@yahoo.ca> wrote in message news:pan.2004.03.06.01.52.45.24161@yahoo.ca...
>>> On Fri, 05 Mar 2004 12:47:31 -0800, Walter wrote:
>>>
>>> > Didn't get all the bugs I wanted fixed done, but there's enough to
>> justify a
>>> > bug fix update.
>>> >
>>> > http://www.digitalmars.com/d/changelog.html
>>>
>>> I forgot to say:
>>>
>>> on the other example I had
>>> class AA
>>> on module A
>>> because dmd segfaults if
>>> class A is on module A...
>>
>> Can you post a code example, please?
>
> here:
>
> ############ file Same.d
> module Same; // makes no difference if removed
> class Same
> {
> this()
> {
> printf("Same\n");
> }
> }
>
> ############ file Other.d
> modules Other; // makes no difference if removed
> import Same;
>
> class Other : Same // segfault
> // class Other : Same.Same //***UGLY ALERT*** but doesn't segfault
> {
> this()
> {
> printf("other\n");
> }
> }
>
> void main()
> {
> new Other;
> }
>
>
> ############
> dmd Same Other -I~/dmd/src/phobos
> Segmentation fault
>
> with the alternate line "class Other : Same.Same"
> is used it compiles and runs as expected
> but it's kind of ugly.
> however on the real world I expect things be like:
> import same.Leds;
>
> class Other : Same{}
>
> and the problem might go away...
> let me try:
> ... trying...
> I don't have time now... but the compiler is saying:
> "same/Other.d(3): module Same is in multiple packages same.Same"
> maybe it's my fault I'll check it later.
>
> Ant
OK the following works:
############# file same/Same.d
module same.Same;
class Same
{
this()
{
printf("same/Same\n");
}
}
############# file same/Other.d
module same.Other;
import same.Same;
class Other : Same
{
this()
{
printf("same/Other\n");
}
}
void main()
{
new Other;
}
#############
dmd same/Same same/Other -I~/dmd/src/phobos:./same
#############
compiles and runs as expected
the message I had
"same/Other.d(3): module Same is in multiple packages same.Same"
was because in same/Other I had "import Same".
It was my fault but the compiler message should be reviewd.
Ant
|
Copyright © 1999-2021 by the D Language Foundation