June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to zwang | zwang wrote: > Walter wrote: > >> Added inner classes. >> >> http://www.digitalmars.com/d/changelog.html > > Wow, that looks like a major update. Thanks! > I'm not sure whether it's time to upgrade, though. > So many things are deprecated in version 0.126. And so many things changed their behaviour. Like nested classes and unsuccessful AA lookups. Stewart. -- My e-mail is valid but not my primary mailbox. Please keep replies on the 'group where everyone may benefit. |
June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | Walter wrote:
> Added inner classes.
>
> http://www.digitalmars.com/d/changelog.html
>
>
>
Thank you for all of that!
-JJR
|
June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Stewart Gordon | Stewart Gordon wrote:
> Could we please at least have an answer about these?
>
> http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/3170
> http://www.digitalmars.com/drn-bin/wwwnews?digitalmars.D.bugs/3173
David has fixed the GDC compiler (0.12) so that it outputs to stderr...
Probably since I was complaining about it breaking my -pipe builds :-)
Unfortunately that only goes for the *compiler* errors. The runtime
errors, such as uncaught exceptions, still go stdout (not stderr).
--anders
|
June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | Walter wrote: > Added inner classes. > > http://www.digitalmars.com/d/changelog.html > > > Walter is my hero. No really! He is... -- Thanks, Trevor Parscal www.trevorparscal.com trevorparscal@hotmail.com |
June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | On Tue, 7 Jun 2005 22:17:50 -0700, Walter wrote: > Added inner classes. > > http://www.digitalmars.com/d/changelog.html Ummm... I've got a problem ... void main() { Object x; version (DigitalMars) { if (x !is null) {} } else { if (x !== null) {} } } I expected that by using the DigitalMars compiler that I wouldn't get ... "test.d(11): '!==' is deprecated, use '!is' instead" -- Derek Parnell Melbourne, Australia 8/06/2005 9:55:42 PM |
June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | "Walter" <newshound@digitalmars.com> wrote in message news:d85vju$so2$1@digitaldaemon.com... > Added inner classes. > > http://www.digitalmars.com/d/changelog.html very nice! The "is expression" looks like it'll be very useful. |
June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Walter | You're the man! Really, I think it's amazing how fast you did full inner classes support (and even some other stuff)! Do you take apprentices? :) xs0 |
June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Derek Parnell | In article <trch1jhcb7pj.1qubpmdg2vvtf.dlg@40tude.net>, Derek Parnell says... > >On Tue, 7 Jun 2005 22:17:50 -0700, Walter wrote: > >> Added inner classes. >> >> http://www.digitalmars.com/d/changelog.html > >Ummm... I've got a problem ... > > void main() > { > Object x; > > version (DigitalMars) > { > if (x !is null) {} > } > else > { > if (x !== null) {} > } > } > >I expected that by using the DigitalMars compiler that I wouldn't get ... > > "test.d(11): '!==' is deprecated, use '!is' instead" > >-- >Derek Parnell >Melbourne, Australia >8/06/2005 9:55:42 PM That looks like a parsing catch. As you recall, version blocks must be fully language-parseable. The version condition only selects which code block gets compiled in. Walter must be catching the use of !== in the parser and erroring out if so. Regards, James Dunne |
June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to James Dunne | On Wed, 8 Jun 2005 12:46:47 +0000 (UTC), James Dunne wrote: > In article <trch1jhcb7pj.1qubpmdg2vvtf.dlg@40tude.net>, Derek Parnell says... >> >>On Tue, 7 Jun 2005 22:17:50 -0700, Walter wrote: >> >>> Added inner classes. >>> >>> http://www.digitalmars.com/d/changelog.html >> >>Ummm... I've got a problem ... >> >> void main() >> { >> Object x; >> >> version (DigitalMars) >> { >> if (x !is null) {} >> } >> else >> { >> if (x !== null) {} >> } >> } >> >>I expected that by using the DigitalMars compiler that I wouldn't get ... >> >> "test.d(11): '!==' is deprecated, use '!is' instead" >> >>-- >>Derek Parnell >>Melbourne, Australia >>8/06/2005 9:55:42 PM > > That looks like a parsing catch. As you recall, version blocks must be fully language-parseable. The version condition only selects which code block gets compiled in. Walter must be catching the use of !== in the parser and erroring out if so. Oh I understand what's going on, and I realized that before doing this. So to be more specific... WTF do I have to code so I only have to support one source file for multiple compilers? I don't really want one version of the Build application source for the GDC compiler and another set of source files for the DigitalMars compiler. At this stage, I'm going to have to revert to a macro preprocessor again! I'm sure that is not what Walter envisioned his D-isciples doing. -- Derek Parnell Melbourne, Australia 8/06/2005 11:16:32 PM |
June 08, 2005 Re: DMD 0.126 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Derek Parnell | Derek Parnell wrote: > Ummm... I've got a problem ... > > void main() > { > Object x; > version (DigitalMars) > { > if (x !is null) {} > } > else > { > if (x !== null) {} > } > } > > I expected that by using the DigitalMars compiler that I wouldn't get ... > > "test.d(11): '!==' is deprecated, use '!is' instead" Since versions are not #if, I don't think there is any way to make the same source code compile on new DMD and old DMD... (or GDC, which is at DMD 0.125 thanks to David heroic efforts) Which leaves the option towards the usual: 1) Require DMD 0.126 and above, in your docs 2) Use the deprecated features and the -d flag Too bad that there seems to be no way to make it compile for both, like you could do with C. (which seems to be better for maintenance) This is not exactly the first time that this has happened, either. But I guess that's what life with a developing language is ? FWIW, Java has the same problem. --anders PS. What about the there-is-no-spoon option ? (alias spoon bool;) void main() { Object x; if (x) {} } Or are we still hoping for those expressions to be illegal ? |
Copyright © 1999-2021 by the D Language Foundation