Jump to page: 1 2 3
Thread overview
dmd 1.048 and 2.033 releases
Oct 05, 2009
Walter Bright
Oct 05, 2009
Tim Matthews
Oct 05, 2009
Denis Koroskin
Oct 05, 2009
Walter Bright
Oct 05, 2009
Denis Koroskin
Oct 05, 2009
bearophile
Oct 05, 2009
Jacob Carlborg
Oct 05, 2009
Denis Koroskin
Oct 05, 2009
Jacob Carlborg
Oct 05, 2009
Leandro Lucarella
Oct 05, 2009
bearophile
Oct 05, 2009
Ary Borenszweig
Oct 05, 2009
Walter Bright
Oct 06, 2009
Stewart Gordon
Oct 06, 2009
Kagamin
Oct 11, 2009
Stewart Gordon
Oct 05, 2009
Walter Bright
Oct 05, 2009
Lutger
Oct 05, 2009
Walter Bright
Oct 05, 2009
Walter Bright
Oct 06, 2009
Vladimir Panteleev
Oct 06, 2009
Walter Bright
Oct 06, 2009
Jason House
Oct 06, 2009
Walter Bright
Oct 07, 2009
Jason House
Oct 06, 2009
MIURA Masahiro
Oct 06, 2009
Walter Bright
Oct 06, 2009
MIURA Masahiro
October 05, 2009
Another OSX 10.5 release :-)

Anyhow, this should work with gdb now, and has contract inheritance (finally).

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


http://www.digitalmars.com/d/2.0/changelog.html
http://ftp.digitalmars.com/dmd.2.033.zip

Many thanks to the numerous people who contributed to this update.
October 05, 2009
Walter Bright wrote:
> Another OSX 10.5 release :-)
> 
> Anyhow, this should work with gdb now, and has contract inheritance (finally).
> 
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.048.zip
> 
> 
> http://www.digitalmars.com/d/2.0/changelog.html
> http://ftp.digitalmars.com/dmd.2.033.zip
> 
> Many thanks to the numerous people who contributed to this update.

3301 didn't make this release. Is there outstanding problems with Rainer's patch? Thanks anyway.
October 05, 2009
On Mon, 05 Oct 2009 13:07:04 +0400, Tim Matthews <tim.matthews7@gmail.com> wrote:

> Walter Bright wrote:
>> Another OSX 10.5 release :-)
>>  Anyhow, this should work with gdb now, and has contract inheritance (finally).
>>  http://www.digitalmars.com/d/1.0/changelog.html
>> http://ftp.digitalmars.com/dmd.1.048.zip
>>   http://www.digitalmars.com/d/2.0/changelog.html
>> http://ftp.digitalmars.com/dmd.2.033.zip
>>  Many thanks to the numerous people who contributed to this update.
>
> 3301 didn't make this release. Is there outstanding problems with Rainer's patch? Thanks anyway.

I wonder the same. It's a blocker, and I'm forced to use DMD2.031 for that reason.
October 05, 2009
On Mon, 05 Oct 2009 14:23:26 +0400, Nick Sabalausky <a@a.a> wrote:

> "Walter Bright" <newshound1@digitalmars.com> wrote in message
> news:hac8nb$26j6$1@digitalmars.com...
>> Another OSX 10.5 release :-)
>>
>> Anyhow, this should work with gdb now, and has contract inheritance
>> (finally).
>>
>> http://www.digitalmars.com/d/1.0/changelog.html
>> http://ftp.digitalmars.com/dmd.1.048.zip
>>
>>
>> http://www.digitalmars.com/d/2.0/changelog.html
>> http://ftp.digitalmars.com/dmd.2.033.zip
>>
>> Many thanks to the numerous people who contributed to this update.
>
> "Compiler now detects some cases of illegal null dereferencing when compiled
> with -O"
>
> A bug-detection feature that's turned on with -O? I assume that's just a
> temporary situation and is related to either it currently being detected by
> the optimizer and the feature maybe being in a "trial" phase? Or maybe just
> a typo? ;)
>
>

No, it's not:

void main() {
    Object o;
    o.toString();
}

# dmd test.d // fine
# dmd test.d -O // test.d(4): Error: null dereference in function _Dmain (mangled name, is it done on purpose?)

Nice start, anyway, I'm looking forward to having a complete code flow analysis soon :)
October 05, 2009
Can someone show an usage example of contract inheritance? (where inheritance is useful).


Regarding the fixed bugs 2702 and 2469, I'm having problems still, at the bottom y is 0:

import std.stdio: writeln;
import std.conv: to;

struct Ranged(int RANGED_MIN, int RANGED_MAX) {
    int x_ = RANGED_MIN;

    int x() { return this.x_; }
    int x(int xx) { this.x_ = xx; return xx; }
    alias x this;

    invariant() {
        //assert(this.x_ >= RANGED_MIN, "Ranged value too much small");
        assert(this.x_ < RANGED_MAX, "Ranged value too much big");
    }

    //Ranged opCast(int xx) { return Ranged(xx); }

    string toString() { return to!string(this.x_); }
}

void main() {
    typedef Ranged!(10, 20) ranged;
    ranged x;
    writeln(x);
    //ranged y = 1000; // temp.d(23): Error: cannot implicitly convert expression (1000) of type int to ranged
    ranged y = cast(ranged)100;
    writeln(y); // 0?
}

Bye,
bearophile
October 05, 2009
On Mon, 05 Oct 2009 03:54:22 -0400, Walter Bright <newshound1@digitalmars.com> wrote:

> Another OSX 10.5 release :-)
>
> Anyhow, this should work with gdb now, and has contract inheritance (finally).
>
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.048.zip
>
>
> http://www.digitalmars.com/d/2.0/changelog.html
> http://ftp.digitalmars.com/dmd.2.033.zip
>
> Many thanks to the numerous people who contributed to this update.

Excellent work!  It looks like a lot of mundane bugs are getting fixed, which is a good sign :)

A couple questions:

1. "The result type of the typeid(type) is now the most derived TypeInfo class, rather than the TypeInfo base class"  Why can't this be propogated to D1?  I can't imagine code that depends on the return value being typed as TypeInfo that would not simply just work with the most derived return type...

2. A while ago, (I can't find the post, it may have been on reddit) you mentioned that you were going to add property notation.  Is that still going to happen?  I'm really looking forward to that, and if not, is there a reason?

-Steve
October 05, 2009
On 10/5/09 13:49, Steven Schveighoffer wrote:
> On Mon, 05 Oct 2009 03:54:22 -0400, Walter Bright
> <newshound1@digitalmars.com> wrote:
>
>> Another OSX 10.5 release :-)
>>
>> Anyhow, this should work with gdb now, and has contract inheritance
>> (finally).
>>
>> http://www.digitalmars.com/d/1.0/changelog.html
>> http://ftp.digitalmars.com/dmd.1.048.zip
>>
>>
>> http://www.digitalmars.com/d/2.0/changelog.html
>> http://ftp.digitalmars.com/dmd.2.033.zip
>>
>> Many thanks to the numerous people who contributed to this update.
>
> Excellent work! It looks like a lot of mundane bugs are getting fixed,
> which is a good sign :)
>
> A couple questions:
>
> 1. "The result type of the typeid(type) is now the most derived TypeInfo
> class, rather than the TypeInfo base class" Why can't this be propogated
> to D1? I can't imagine code that depends on the return value being typed
> as TypeInfo that would not simply just work with the most derived return
> type...
>
> 2. A while ago, (I can't find the post, it may have been on reddit) you
> mentioned that you were going to add property notation. Is that still
> going to happen? I'm really looking forward to that, and if not, is
> there a reason?

There are some traces of it in the code: http://www.dsource.org/projects/dmd/changeset/195 search for "property".

> -Steve

October 05, 2009
On Mon, 05 Oct 2009 16:55:49 +0400, Jacob Carlborg <doob@me.com> wrote:

> On 10/5/09 13:49, Steven Schveighoffer wrote:
>> On Mon, 05 Oct 2009 03:54:22 -0400, Walter Bright
>> <newshound1@digitalmars.com> wrote:
>>
>>> Another OSX 10.5 release :-)
>>>
>>> Anyhow, this should work with gdb now, and has contract inheritance
>>> (finally).
>>>
>>> http://www.digitalmars.com/d/1.0/changelog.html
>>> http://ftp.digitalmars.com/dmd.1.048.zip
>>>
>>>
>>> http://www.digitalmars.com/d/2.0/changelog.html
>>> http://ftp.digitalmars.com/dmd.2.033.zip
>>>
>>> Many thanks to the numerous people who contributed to this update.
>>
>> Excellent work! It looks like a lot of mundane bugs are getting fixed,
>> which is a good sign :)
>>
>> A couple questions:
>>
>> 1. "The result type of the typeid(type) is now the most derived TypeInfo
>> class, rather than the TypeInfo base class" Why can't this be propogated
>> to D1? I can't imagine code that depends on the return value being typed
>> as TypeInfo that would not simply just work with the most derived return
>> type...
>>
>> 2. A while ago, (I can't find the post, it may have been on reddit) you
>> mentioned that you were going to add property notation. Is that still
>> going to happen? I'm really looking forward to that, and if not, is
>> there a reason?
>
> There are some traces of it in the code: http://www.dsource.org/projects/dmd/changeset/195 search for "property".
>
>> -Steve
>

int bar() @property
{
    return 42;
}

writeln(bar);

Yay! :)
October 05, 2009
On Mon, 05 Oct 2009 09:12:32 -0400, Denis Koroskin <2korden@gmail.com> wrote:

> On Mon, 05 Oct 2009 16:55:49 +0400, Jacob Carlborg <doob@me.com> wrote:
>
>> On 10/5/09 13:49, Steven Schveighoffer wrote:
>>> On Mon, 05 Oct 2009 03:54:22 -0400, Walter Bright
>>> <newshound1@digitalmars.com> wrote:
>>>
>>>> Another OSX 10.5 release :-)
>>>>
>>>> Anyhow, this should work with gdb now, and has contract inheritance
>>>> (finally).
>>>>
>>>> http://www.digitalmars.com/d/1.0/changelog.html
>>>> http://ftp.digitalmars.com/dmd.1.048.zip
>>>>
>>>>
>>>> http://www.digitalmars.com/d/2.0/changelog.html
>>>> http://ftp.digitalmars.com/dmd.2.033.zip
>>>>
>>>> Many thanks to the numerous people who contributed to this update.
>>>
>>> Excellent work! It looks like a lot of mundane bugs are getting fixed,
>>> which is a good sign :)
>>>
>>> A couple questions:
>>>
>>> 1. "The result type of the typeid(type) is now the most derived TypeInfo
>>> class, rather than the TypeInfo base class" Why can't this be propogated
>>> to D1? I can't imagine code that depends on the return value being typed
>>> as TypeInfo that would not simply just work with the most derived return
>>> type...
>>>
>>> 2. A while ago, (I can't find the post, it may have been on reddit) you
>>> mentioned that you were going to add property notation. Is that still
>>> going to happen? I'm really looking forward to that, and if not, is
>>> there a reason?
>>
>> There are some traces of it in the code: http://www.dsource.org/projects/dmd/changeset/195 search for "property".
>>
>>> -Steve
>>
>
> int bar() @property
> {
>      return 42;
> }
>
> writeln(bar);
>
> Yay! :)

Cool :)

Unfortunately, this still compiles :(

int bar()
{
   return 42;
}

writeln("%d", bar);

And this too:

int bar() @property
{
  return 42;
}

writeln("%d", bar());

So it appears that @property is a noop for now, but is valid syntax.

Also interesting from this revelation is that attributes are coming :D

int bar() @blah
{
  return 42;
}

#../dmd-2.033/linux/bin/dmd -w testme.d
testme.d(8): valid attribute identifiers are property, not blah

-Steve
October 05, 2009
On 10/5/09 15:46, Steven Schveighoffer wrote:
> On Mon, 05 Oct 2009 09:12:32 -0400, Denis Koroskin <2korden@gmail.com>
> wrote:
>
>> On Mon, 05 Oct 2009 16:55:49 +0400, Jacob Carlborg <doob@me.com> wrote:
>>
>>> On 10/5/09 13:49, Steven Schveighoffer wrote:
>>>> On Mon, 05 Oct 2009 03:54:22 -0400, Walter Bright
>>>> <newshound1@digitalmars.com> wrote:
>>>>
>>>>> Another OSX 10.5 release :-)
>>>>>
>>>>> Anyhow, this should work with gdb now, and has contract inheritance
>>>>> (finally).
>>>>>
>>>>> http://www.digitalmars.com/d/1.0/changelog.html
>>>>> http://ftp.digitalmars.com/dmd.1.048.zip
>>>>>
>>>>>
>>>>> http://www.digitalmars.com/d/2.0/changelog.html
>>>>> http://ftp.digitalmars.com/dmd.2.033.zip
>>>>>
>>>>> Many thanks to the numerous people who contributed to this update.
>>>>
>>>> Excellent work! It looks like a lot of mundane bugs are getting fixed,
>>>> which is a good sign :)
>>>>
>>>> A couple questions:
>>>>
>>>> 1. "The result type of the typeid(type) is now the most derived
>>>> TypeInfo
>>>> class, rather than the TypeInfo base class" Why can't this be
>>>> propogated
>>>> to D1? I can't imagine code that depends on the return value being
>>>> typed
>>>> as TypeInfo that would not simply just work with the most derived
>>>> return
>>>> type...
>>>>
>>>> 2. A while ago, (I can't find the post, it may have been on reddit) you
>>>> mentioned that you were going to add property notation. Is that still
>>>> going to happen? I'm really looking forward to that, and if not, is
>>>> there a reason?
>>>
>>> There are some traces of it in the code:
>>> http://www.dsource.org/projects/dmd/changeset/195 search for "property".
>>>
>>>> -Steve
>>>
>>
>> int bar() @property
>> {
>> return 42;
>> }
>>
>> writeln(bar);
>>
>> Yay! :)
>
> Cool :)
>
> Unfortunately, this still compiles :(
>
> int bar()
> {
> return 42;
> }
>
> writeln("%d", bar);
>
> And this too:
>
> int bar() @property
> {
> return 42;
> }
>
> writeln("%d", bar());
>
> So it appears that @property is a noop for now, but is valid syntax.
>
> Also interesting from this revelation is that attributes are coming :D

I just hope that they also will be user defined.

> int bar() @blah
> {
> return 42;
> }
>
> #../dmd-2.033/linux/bin/dmd -w testme.d
> testme.d(8): valid attribute identifiers are property, not blah
>
> -Steve

« First   ‹ Prev
1 2 3