View mode: basic / threaded / horizontal-split · Log in · Help
April 14, 2012
Re: dmd 1.074 and 2.059 release
On 4/14/12, Alex Rønne Petersen <xtzgzorex@gmail.com> wrote:
> That sounds like an error in TDPL. AFAIK nothrow means "may only throw
> Error".

But Error is a subclass of Throwable.
April 14, 2012
Re: dmd 1.074 and 2.059 release
On Saturday, April 14, 2012 02:13:45 Andrej Mitrovic wrote:
> On 4/14/12, Alex Rønne Petersen <xtzgzorex@gmail.com> wrote:
> > That sounds like an error in TDPL. AFAIK nothrow means "may only throw
> > Error".
> 
> But Error is a subclass of Throwable.

A nothrow function cannot throw anything derived from Exception. It _can_ 
throw types derived from Error. Normally, no one should be using exception 
types which aren't derived from Exception or Error. So, this should be a 
complete non-issue.

It looks like TDPL lists Throwable as throwable in nothrow functions (so, 
basically any Throwable which is _not_ derived from Exception), whereas the 
compiler specifically makes Error throwable but disallows throwing Throwable.

Honestly, it probably doesn't really matter which it is. Certainly, it won't 
matter in good code, since I'm pretty sure there's no valid reason for 
throwing anything which is not derived from Exception or Error.

But clearly TDPL and the compiler need to be brought in line with one another 
(either by changing TDPL or changing the compiler). I'd be inclined to go with 
TDPL on this one, but I don't see how it matters all that much, since it
shouldn't impact any real world code either way.

- Jonathan M Davis
April 14, 2012
Re: dmd 1.074 and 2.059 release
On Friday, 13 April 2012 at 05:54:26 UTC, Walter Bright wrote:
> Another big pile of bug fixes. More contributors than ever!
>
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.074.zip
>
> http://www.digitalmars.com/d/2.0/changelog.html
> https://github.com/downloads/D-Programming-Language/dmd/dmd.2.059.zip
>
> Note that the changelogs on dlang.org haven't been updated yet. 
> Hope to get that done soon.

Not Found

The requested URL /dmd.2.059.dmg was not found on this server.

Can I play too please.
April 14, 2012
Re: dmd 1.074 and 2.059 release
This program doesn't work.

import std.stdio;

void main() {
    writeln(1);
}

I get this:
C:\jpro\dpro2\small>dmd dmd59.d
OPTLINK (R) for Win32  Release 8.00.12
Copyright (C) Digital Mars 1989-2010  All rights reserved.
http://www.digitalmars.com/ctg/optlink.html
dmd59.obj(dmd59)
 Error 42: Symbol Undefined _D3std3utf6toUTF8FNaNbNfJG4awZAa
--- errorlevel 1

C:\jpro\dpro2\small>_

Is it to do with qualifiers?

Thanks for any help.

-joelcnz
April 14, 2012
Re: dmd 1.074 and 2.059 release
Never mind, I installed wrong, I was still was using 58's lib 
files.

-joelcnz
April 14, 2012
Re: dmd 1.074 and 2.059 release
On 04/13/2012 05:47 PM, Tyro[17] wrote:
> On Friday, 13 April 2012 at 05:54:26 UTC, Walter Bright wrote:
>> Another big pile of bug fixes. More contributors than ever!
>>
>> http://www.digitalmars.com/d/1.0/changelog.html
>> http://ftp.digitalmars.com/dmd.1.074.zip
>>
>> http://www.digitalmars.com/d/2.0/changelog.html
>> https://github.com/downloads/D-Programming-Language/dmd/dmd.2.059.zip
>>
>> Note that the changelogs on dlang.org haven't been updated yet. Hope
>> to get that done soon.
>
> Not Found
>
> The requested URL /dmd.2.059.dmg was not found on this server.
>
> Can I play too please.

The 64-bit .deb file worked fine on my Ubuntu system:

  http://dlang.org/download.html

Ali
April 14, 2012
Re: dmd 1.074 and 2.059 release
On 4/13/2012 5:47 PM, Tyro[17] wrote:
> The requested URL /dmd.2.059.dmg was not found on this server.

Hmm, I overlooked that one.
April 14, 2012
Re: dmd 1.074 and 2.059 release
On 14-04-2012 02:13, Andrej Mitrovic wrote:
> On 4/14/12, Alex Rønne Petersen<xtzgzorex@gmail.com>  wrote:
>> That sounds like an error in TDPL. AFAIK nothrow means "may only throw
>> Error".
>
> But Error is a subclass of Throwable.

Which is why I said it's probably an error in TDPL. :P

-- 
- Alex
April 14, 2012
Re: dmd 1.074 and 2.059 release
On 14-04-2012 03:45, Alex Rønne Petersen wrote:
> On 14-04-2012 02:13, Andrej Mitrovic wrote:
>> On 4/14/12, Alex Rønne Petersen<xtzgzorex@gmail.com> wrote:
>>> That sounds like an error in TDPL. AFAIK nothrow means "may only throw
>>> Error".
>>
>> But Error is a subclass of Throwable.
>
> Which is why I said it's probably an error in TDPL. :P
>

I.e. nothrow specifically lets you throw anything deriving from Error, 
nothing else. Anywhere else, you can throw whatever derives from Throwable.

-- 
- Alex
April 14, 2012
Re: dmd 1.074 and 2.059 release
Gah, I just ruined by night by actually
trying to use this release.

78 lines of template instantiation error spam
on code that worked perfectly on 2.058 :(

Including such gems as:

.../phobos/std/conv.d(244): Error: template std.conv.toImpl does 
not match any function template declaration

and

.../phobos/std/conv.d(244): Error: template std.conv.toImpl 
matches more than one template declaration, 
/home/me/d/dmd2/linux/bin32/../../src/phobos/std/conv.d(1034):toImpl(T,S) 
if (!isImplicitlyConvertible!(S,T) && is(S == enum) && 
isSomeString!(T)) and 
/home/me/d/dmd2/linux/bin32/../../src/phobos/std/conv.d(1155):toImpl(T,S) 
if (isIntegral!(S) && isSigned!(S) && isSomeString!(T))

and

.../phobos/std/conv.d(244): Error: template std.conv.toImpl does 
not match any function template declaration


They all seem to be enum <-> string related.

std.conv rox, but it is one very fragile baby :(

It breaks often, and is always a pain to figure out why.
1 2 3 4 5 6 7
Top | Discussion index | About this forum | D home