Jump to page: 1 2
Thread overview
dmd 1.064 and 2.049 release
Sep 17, 2010
Walter Bright
Sep 17, 2010
BCS
Sep 17, 2010
Nick Sabalausky
Sep 17, 2010
Bernard Helyer
Sep 17, 2010
Bernard Helyer
Sep 19, 2010
Aldo Nunez
Sep 20, 2010
Walter Bright
Sep 21, 2010
Aldo Nunez
Sep 17, 2010
osa
Sep 17, 2010
dsimcha
Sep 17, 2010
osa
Sep 17, 2010
dsimcha
Sep 17, 2010
osa
September 17, 2010
This is primarily a bug fix release.

http://www.digitalmars.com/d/1.0/changelog.html
http://ftp.digitalmars.com/dmd.1.064.zip

http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.049.zip
September 17, 2010
Hello Walter,

> This is primarily a bug fix release.

And that it is! Great job!

-- 
... <IXOYE><



September 17, 2010
"Walter Bright" <newshound2@digitalmars.com> wrote in message news:i6up2t$19cp$1@digitalmars.com...
> This is primarily a bug fix release.
>
> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.064.zip
>
> http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.049.zip

Excellent, I see the current RDMD has been included :) Now maybe we can get these applied ("squeak" says the wheel...):

http://d.puremagic.com/issues/show_bug.cgi?id=4672 http://d.puremagic.com/issues/show_bug.cgi?id=4683 http://d.puremagic.com/issues/show_bug.cgi?id=4684 http://d.puremagic.com/issues/show_bug.cgi?id=4688


September 17, 2010
On Thu, 16 Sep 2010 20:58:56 -0700, Walter Bright wrote:

> This is primarily a bug fix release.
> 
> http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.064.zip
> 
> http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.049.zip


Looks solid, but it appears to have broken debugging info. (Linux)

Looking through the bug tracker now.
September 17, 2010
On Fri, 17 Sep 2010 11:45:15 +0000, Bernard Helyer wrote:
> Looks solid, but it appears to have broken debugging info. (Linux)
> 
> Looking through the bug tracker now.

Uhhhh disregard that, PEBKAC.   ^^;
September 17, 2010
After upgrading to 2.049, trying to compile this code:
----
import std.traits;
void foo() {}
void main() {
    static assert( ! hasUnsharedAliasing!foo );
}
----
gives this error:
dmd2/linux/bin/../../src/phobos/std/traits.d(971): Error: template instance isAssociativeArray!(foo) does not match template declaration isAssociativeArray(T)
dmd2/linux/bin/../../src/phobos/std/traits.d(971): Error: expression isAssociativeArray!(foo) is not constant or does not evaluate to a bool

It used to work with 2.048 so it is probably caused by fixing bug 4834.

Also, error message points to the guts of std.traits and does not give any clue about actual instantiation of hasUnsharedAliasing which caused this. It was not easy to reduce the problem to the small test case.
September 17, 2010
== Quote from osa (osa@aso.osa)'s article
> After upgrading to 2.049, trying to compile this code:
> ----
> import std.traits;
> void foo() {}
> void main() {
>      static assert( ! hasUnsharedAliasing!foo );
> }
> ----
> gives this error:
> dmd2/linux/bin/../../src/phobos/std/traits.d(971): Error: template
> instance isAssociativeArray!(foo) does not match template declaration
> isAssociativeArray(T)
> dmd2/linux/bin/../../src/phobos/std/traits.d(971): Error: expression
> isAssociativeArray!(foo) is not constant or does not evaluate to a bool
> It used to work with 2.048 so it is probably caused by fixing bug 4834.
> Also, error message points to the guts of std.traits and does not give
> any clue about actual instantiation of hasUnsharedAliasing which caused
> this. It was not easy to reduce the problem to the small test case.

I agree the error message is obtuse, but I don't think this code is supposed to work because foo is not a type.  This code does work:

import std.traits;
void foo() {}
void main() {
     static assert( ! hasUnsharedAliasing!(typeof(foo)) );
}
September 17, 2010
On 09/17/2010 03:22 PM, dsimcha wrote:
> I agree the error message is obtuse, but I don't think this code is supposed to
> work because foo is not a type.  This code does work:
>
> import std.traits;
> void foo() {}
> void main() {
>       static assert( ! hasUnsharedAliasing!(typeof(foo)) );
> }

My bad. However, old code used to work with 2.048, with hasLocalAliasing.

Now the next problem. I do not think there is unshared aliasing here:
----
import std.traits;
struct Foo
{
    void function() func;
}
void main()
{
    static assert( ! hasUnsharedAliasing!Foo, "struct Foo has unshared aliasing" );
}
----
but it fails to compile. As far as I understand, functions (unlike delegates) do not have any shared aliasing but hasUnsharedAliasing thinks they do.
September 17, 2010
== Quote from osa (osa@aso.osa)'s article
> On 09/17/2010 03:22 PM, dsimcha wrote:
> > I agree the error message is obtuse, but I don't think this code is supposed to work because foo is not a type.  This code does work:
> >
> > import std.traits;
> > void foo() {}
> > void main() {
> >       static assert( ! hasUnsharedAliasing!(typeof(foo)) );
> > }
> My bad. However, old code used to work with 2.048, with hasLocalAliasing. Now the next problem. I do not think there is unshared aliasing here:
> ----
> import std.traits;
> struct Foo
> {
>      void function() func;
> }
> void main()
> {
>      static assert( ! hasUnsharedAliasing!Foo, "struct Foo has unshared
> aliasing" );
> }
> ----
> but it fails to compile. As far as I understand, functions (unlike delegates) do not have any shared aliasing but hasUnsharedAliasing thinks they do.

This is a real bug.  Please file a bug report.  I'll look into it soon.
September 17, 2010
On 09/17/2010 04:05 PM, dsimcha wrote:

> This is a real bug.  Please file a bug report.  I'll look into it soon.

Done: http://d.puremagic.com/issues/show_bug.cgi?id=4882
« First   ‹ Prev
1 2