February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
http://ftp.digitalmars.com/dmd2beta.zip |
February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Am 09.02.2012 09:16, schrieb Walter Bright:
> http://ftp.digitalmars.com/dmd2beta.zip
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
The deprecation of base class protection seems to have overshot its goal a bit - implemented _interfaces_ are now also not allowed to be prefixed with a protection attribute, although this can make perfect sense.
Another thing is that while private selective imports are not public anymore, private renamed imports now conflict in other modules in this scenario:
---
module a;
import std = b;
module b;
import a;
void f(){ std.stdio.writefln("X"); } // Error: std at conflicts with
std at a.d(2)
---
I'm also getting an error in cgcs.c line 354 on a "piece" of code that previously errored on line 162/cgcs.c (the fixed bug 6177). I will run dustmite on it and see where it comes from. Not sure if the two are related to the same root cause or if this is a regresseion.
All in all this is that first release after quite some for which I had to change a whole lot of code - but changed in a good, cleaning-up way. So actually I really appreciate this.
|
February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Greetings I am getting linking errors when I compile with the current beta release. No problems when I compile with 2.057 release. qwave.o: In function `_D3std9exception44__T9enforceExTC3std6format15FormatExceptionZ16__T9enforceExTbZ9enforceExFNaNfbLAyaAyamZb': parse.d:(.text._D3std9exception44__T9enforceExTC3std6format15FormatExceptionZ16__T9enforceExTbZ9enforceExFNaNfbLAyaAyamZb+0x4c): undefined reference to `_D3std6format15FormatException6__ctorMFAyaAyamC6object9ThrowableZC3std6format15FormatException' regards - Puneet |
February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to d coder | The error went away as soon as I removed dmd 2.057 from my machine. Sorry for the false call. I should have been more careful. Regards - Puneet |
February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sönke Ludwig | >________________________________
> From: S?nke Ludwig <ludwig at informatik.uni-luebeck.de>
>
>Am 09.02.2012 09:16, schrieb Walter Bright:
>> http://ftp.digitalmars.com/dmd2beta.zip
>> _______________________________________________
>> dmd-beta mailing list
>> dmd-beta at puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
>The deprecation of base class protection seems to have overshot its goal a bit - implemented _interfaces_ are now also not allowed to be prefixed with a protection attribute, although this can make perfect sense.
Right, an interface is a public desription of what a class can do.? I can't see any valid use case for private or protected interfaces.
-Steve
|
February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steve Schveighoffer | >>________________________________
>> From: S?nke Ludwig <ludwig at informatik.uni-luebeck.de>
>>
>>Am 09.02.2012 09:16, schrieb Walter Bright:
>>> http://ftp.digitalmars.com/dmd2beta.zip
>>> _______________________________________________
>>> dmd-beta mailing list
>>> dmd-beta at puremagic.com
>>> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>>
>>The deprecation of base class protection seems to have overshot its goal
>> a bit - implemented _interfaces_ are now also not allowed to be prefixed with a protection attribute, although this can make perfect sense.
>
> Right, an interface is a public desription of what a class can do.? I can't see any valid use case for private or protected interfaces.
>
> -Steve
>
> _______________________________________________
> dmd-beta mailing list
> dmd-beta at puremagic.com
> http://lists.puremagic.com/mailman/listinfo/dmd-beta
>
Artificial example (I have a different use case, but the pronciple is
similar):
interface ILinkedListItem {
LinkedListItem next();
void next(LinkedListItem v);
}
LinkedList objectStore;
class C : protected ILinkedListItem {
this()
{
objectStore.add(this);
}
protected LinkedListItem next() {...}
protected void next(LinkedListItem v) {...}
}
So the intent is that you don't have access to these methods from the outside, but that C can still implement the interface to pass it only to certain receivers (the objectStore list in this case).
|
February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | This is not a fix for any regressions, but need for correct behavior of eponymous template trick described in TDPL. https://github.com/D-Programming-Language/dmd/pull/639 Please merge it in 2.058. Kenji Hara 2012/2/9 Walter Bright <walter at digitalmars.com>: > http://ftp.digitalmars.com/dmd2beta.zip > _______________________________________________ > dmd-beta mailing list > dmd-beta at puremagic.com > http://lists.puremagic.com/mailman/listinfo/dmd-beta |
February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Sönke Ludwig |
----- Original Message -----
> From: S?nke Ludwig <ludwig at informatik.uni-luebeck.de>
>
> Artificial example (I have a different use case, but the pronciple is
> similar):
>
> interface ILinkedListItem {
> ? LinkedListItem next();
> ? void next(LinkedListItem v);
> }
>
> LinkedList objectStore;
>
> class C : protected ILinkedListItem {
> ? this()
> ? {
> ? ? objectStore.add(this);
> ? }
>
> ? protected LinkedListItem next() {...}
> ? protected void next(LinkedListItem v) {...}
> }
>
> So the intent is that you don't have access to these methods from the outside, but that C can still implement the interface to pass it only to certain receivers (the objectStore list in this case).
1. using a template for a container like linked list is preferred to using interfaces. 2. you can achieve something similar using inner classes or class literals:
class C
{
?? private class LLItem : ILinkedListItem{
????? LinkedListItem next() {...}
????? void next(LinkedListItem v) {...}
?? }
?? this()
?? {
?????? objectStore.add(new LLItem);
?? }
}
-Steve
|
February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to kenji hara | On 2/9/12, kenji hara <k.hara.pg at gmail.com> wrote:
> This is not a fix for any regressions, but need for correct behavior of eponymous template trick described in TDPL. https://github.com/D-Programming-Language/dmd/pull/639
>
> Please merge it in 2.058.
Vote++. If it doesn't break anything it's finally going to make eponymous templates work like in TDPL.
Walter I know that you generally don't want to add fixes at the last second, but since this is a TDPL-related bug I think it should go in.
|
February 09, 2012 [dmd-beta] D2 2.058 beta | ||||
---|---|---|---|---|
| ||||
Posted in reply to Andrej Mitrovic | Walter what happened to https://github.com/D-Programming-Language/d-programming-language.org/pull/46 ? |
Copyright © 1999-2021 by the D Language Foundation