digitalmars.D.announce - dmd 1.050 and 2.035 release
- Walter Bright <newshound1 digitalmars.com> Oct 14 2009
- Leandro Lucarella <llucax gmail.com> Oct 14 2009
- Jeremie Pelletier <jeremiep gmail.com> Oct 14 2009
- Walter Bright <newshound1 digitalmars.com> Oct 14 2009
- MIURA Masahiro <echochamber gmail.com> Oct 14 2009
- MIURA Masahiro <echochamber gmail.com> Oct 14 2009
- bearophile <bearophileHUGS lycos.com> Oct 14 2009
- Walter Bright <newshound1 digitalmars.com> Oct 14 2009
- Michael P. <baseball.mjp gmail.com> Oct 15 2009
- Ary Borenszweig <ary esperanto.org.ar> Oct 15 2009
- digited <digited yandex.ru> Oct 15 2009
- zsxxsz <zhengshuxin hexun.com> Oct 15 2009
- digited <digited yandex.ru> Oct 15 2009
- Walter Bright <newshound1 digitalmars.com> Oct 15 2009
- digited <digited yandex.ru> Oct 15 2009
- Fawzi Mohamed <fmohamed mac.com> Oct 17 2009
- Unkown to Xnntp <rjmcguire gmail.com> Oct 16 2009
- rmcguire <rjmcguire gmail.com> Oct 16 2009
- Ary Borenszweig <ary esperanto.org.ar> Oct 15 2009
- Walter Bright <newshound1 digitalmars.com> Oct 15 2009
- Moritz Warning <moritzwarning web.de> Oct 15 2009
- Ellery Newcomer <ellery-newcomer utulsa.edu> Oct 15 2009
The main purpose of this is to correct a couple of regressions that were blocking QtD and Tango. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.050.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.035.zip Many thanks to the numerous people who contributed to this update.
Oct 14 2009
Walter Bright, el 14 de octubre a las 20:46 me escribiste:The main purpose of this is to correct a couple of regressions that were blocking QtD and Tango. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.050.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.035.zip Many thanks to the numerous people who contributed to this update.
Thanks for the first releases with full svn history! 8-) -- Leandro Lucarella (AKA luca) http://llucax.com.ar/ ---------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------- Wake from your sleep, the drying of your tears, Today we escape, we escape.
Oct 14 2009
Walter Bright wrote:The main purpose of this is to correct a couple of regressions that were blocking QtD and Tango. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.050.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.035.zip Many thanks to the numerous people who contributed to this update.
Sweet, JSON output, looks like it wasn't very hard to write :)
Oct 14 2009
Jeremie Pelletier wrote:Sweet, JSON output, looks like it wasn't very hard to write :)
It was rather trivial. But it's a bit primitive right now. The problem is I'm not writing a consumer of this data, so I'm not sure what it should contain. Consider it as a trial balloon. I'm interested in hearing from those who are making plugins to Vim, Emacs, source code browsers, etc., who can use this, and what more is needed. I don't want to just throw in a grab-bag of cruft.
Oct 14 2009
Walter Bright wrote:The main purpose of this is to correct a couple of regressions that were blocking QtD and Tango. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.050.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.035.zip Many thanks to the numerous people who contributed to this update.
Thanks for the new release! I have built QtD r304 (latest) with DMD 2.050, and a tutorial example worked successfully. Bugzilla admin, could you add 1.050 and 2.035 to the versions dropdown list?
Oct 14 2009
MIURA Masahiro wrote:I have built QtD r304 (latest) with DMD 2.050,
Of course that's 2.035. I'm screwed by rapid releases :-) (I do welcome rapid releases, though)
Oct 14 2009
Walter Bright:
Using DMD 2.035 I have tried to compile:
void main() {}
Using:
dmd -X temp.d
And the compiler crashes.
Regarding the "-X" name, isn't something like "-json" better? Or better to
unify the switch for json output and normal ddoc output in some way.
Even better, DMD2 compilation switches may need a bit of global
clean-up/rationalization (and they must be chosen taking in account the needs
and constraints of the LDC compiler too, so both compilers can share all or
most the same switches, simplifying the change of compiler a bit).
Bye,
bearophile
Oct 14 2009
bearophile wrote:Walter Bright: Using DMD 2.035 I have tried to compile: void main() {} Using: dmd -X temp.d And the compiler crashes.
Sorry, that happens if the source file doesn't have a module statement.
Oct 14 2009
Walter Bright Wrote:bearophile wrote:Walter Bright: Using DMD 2.035 I have tried to compile: void main() {} Using: dmd -X temp.d And the compiler crashes.
Sorry, that happens if the source file doesn't have a module statement.
Maybe there should be an error then?
Oct 15 2009
Michael P. wrote:Walter Bright Wrote:bearophile wrote:Walter Bright: Using DMD 2.035 I have tried to compile: void main() {} Using: dmd -X temp.d And the compiler crashes.
Maybe there should be an error then?
I think he says it's a bug, he forgot a module declaration can be null. :)
Oct 15 2009
Walter Bright Wrote:The main purpose of this is to correct a couple of regressions that were blocking QtD and Tango. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.050.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.035.zip Many thanks to the numerous people who contributed to this update.
Thank you for this release, and thank you for small commits to SVN! The only thing that is missing from a good release procedure is _release_candidates_. Please, Walter, do not hurry with releases! With DMD in SVN, it will be totally ok to do releases by one in 1-2 months, the main problem is that the developers don't have any time to actually test the new release. The bugs are found, but it's too late and they need to wait for new release, with new _features_ and thus, with _sudded_ release, new bugs and breaking changes (even in D1, yes). You can totally eliminate this kind of problems with posting not a "Here's a new complete release! Now you can test it, but you won't get any fixes until next one", but a _release_candidate_, make an SVN branch for it and let developers (of QtD, Tango and lots of other projects) to test the candidate and report bugs to you. Be sure, after a week of testing, while you can work on next release and new features in trunk, the release branch will really become ready for a _stable_ release, when noone will have to complain about blocker bugs. Please, Walter, do not hurry with releases, make release candidates and wait for bug reports, apply fixes to the release branch and then make a really good release, no matter not so often! Thank you.
Oct 15 2009
== Quote from digited (digited yandex.ru)'s articleWalter Bright Wrote:The main purpose of this is to correct a couple of regressions that were blocking QtD and Tango. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.050.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.035.zip Many thanks to the numerous people who contributed to this update.
The only thing that is missing from a good release procedure is
it will be totally ok to do releases by one in 1-2 months, the main problem is that the developers don't have any time to actually test the new release. The bugs are found, but it's too late and they need to wait for new release, with new _features_ and thus, with _sudded_ release, new bugs and breaking changes (even in D1, yes).You can totally eliminate this kind of problems with posting not a "Here's a new
one", but a _release_candidate_, make an SVN branch for it and let developers (of QtD, Tango and lots of other projects) to test the candidate and report bugs to you. Be sure, after a week of testing, while you can work on next release and new features in trunk, the release branch will really become ready for a _stable_ release, when noone will have to complain about blocker bugs.Please, Walter, do not hurry with releases, make release candidates and wait for
release, no matter not so often!Thank you.
I don't think so. If there are some important bugs fixed, the new release is necessary without caring about the release date. With dmd.2.034, I don't event compile druntime.
Oct 15 2009
zsxxsz Wrote:I don't think so. If there are some important bugs fixed, the new release is necessary without caring about the release date. With dmd.2.034, I don't event compile druntime.
So you don't mind that Tango is still uncompilable with 1.050 because of hurrying, for third release in a row? There must be an easy compiling of DMD from source, and you can get your own version from SVN trunk with a fresh bugfix you need. But a release must generally be stable and should not break the code of main D projects (or give them time to change the projects' code and fix DMD bugs), there's a point in nighly builds, but not weekly releases that keep breaking the code.
Oct 15 2009
digited wrote:So you don't mind that Tango is still uncompilable with 1.050 because of hurrying,
I didn't know that. The bugzilla number which was posted as the reason it wouldn't compile was fixed.
Oct 15 2009
Walter Bright Wrote:digited wrote:So you don't mind that Tango is still uncompilable with 1.050 because of hurrying,
I didn't know that. The bugzilla number which was posted as the reason it wouldn't compile was fixed.
I don't try to accuse you on anything, just ask to give the users some time to test a release candidate - that will show existing blockers better than posting & scanning bugzilla before sudden release, devs will fix their bugs and you'll get a feedback for fixes, and there (i hope) won't be critical problems in compiling existing projects after release. If you are already sending rc's to Tango devs, you simply can make them public and make an SVN branch with their code.
Oct 15 2009
On 2009-10-16 15:31:15 +0200, rmcguire <rjmcguire gmail.com> said:Walter Bright <newshound1 digitalmars.com> wrote:digited wrote:So you don't mind that Tango is still uncompilable with 1.050 because of
I didn't know that. The bugzilla number which was posted as the reason it wouldn't compile was fixed.
Hi Walter, could you not just put rc1, rc2, etc... at the end of the file names when you upload to server. This way we could tell if the release has been tested by the community, and you wouldn't have to change your release process much? Unless of course if it is all automated. -Rory
Well I am not sure that it is really worth making a full release branching, just a tag and telling people that should become a release, and giving binaries to test it would probably be enough normally at least for D 1.0 where there shouldn't be large changes. I suppose that opening the development more brought in more peoples that don't write as defensively as W (or modifications of larger parts) and so more testing is probably good. In this specific case we were also probably a little bit sloppy at reporting problems, so that the went unnoticed for a couple of releases. I suppose that W wanted to fix regressions ASAP, which in general is good I think, just this time it played out a little badly. Anyway if W is willing a more formal release procedure would be good, but not absolutely necessary
Oct 17 2009
zsxxsz <zhengshuxin hexun.com> wrote:== Quote from digited (digited yandex.ru)'s articleWalter Bright Wrote:The main purpose of this is to correct a couple of regressions that were blocking QtD and Tango. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.050.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.035.zip Many thanks to the numerous people who contributed to this update.
The only thing that is missing from a good release procedure is
it will be totally ok to do releases by one in 1-2 months, the main problem is that the developers don't have any time to actually test the new release. The
are found, but it's too late and they need to wait for new release, with new _features_ and thus, with _sudded_ release, new bugs and breaking changes
D1, yes).You can totally eliminate this kind of problems with posting not a "Here's a
complete release! Now you can test it, but you won't get any fixes until next one", but a _release_candidate_, make an SVN branch for it and let developers
QtD, Tango and lots of other projects) to test the candidate and report bugs
you. Be sure, after a week of testing, while you can work on next release and
features in trunk, the release branch will really become ready for a _stable_ release, when noone will have to complain about blocker bugs.Please, Walter, do not hurry with releases, make release candidates and wait
bug reports, apply fixes to the release branch and then make a really good release, no matter not so often!Thank you.
I don't think so. If there are some important bugs fixed, the new release is necessary without caring about the release date. With dmd.2.034, I don't event compile druntime.
Oct 16 2009
Walter Bright <newshound1 digitalmars.com> wrote:digited wrote:So you don't mind that Tango is still uncompilable with 1.050 because of
I didn't know that. The bugzilla number which was posted as the reason it wouldn't compile was fixed.
Hi Walter, could you not just put rc1, rc2, etc... at the end of the file names when you upload to server. This way we could tell if the release has been tested by the community, and you wouldn't have to change your release process much? Unless of course if it is all automated. -Rory
Oct 16 2009
Walter Bright wrote:The main purpose of this is to correct a couple of regressions that were blocking QtD and Tango. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.050.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.035.zip Many thanks to the numerous people who contributed to this update.
The json output looks cool. :) But for this: --- module main; alias int myInt; myInt x; --- I get: --- { "name" : "main", "kind" : "module", "file" : "main.d", "members" : [ { "name" : "myInt", "kind" : "alias", "type" : "int", "line" : 5} ,{ "name" : "x", "kind" : "variable", "type" : "int", "line" : 7} ] } --- So you see, variable's type is "int", not "myInt". I knew this was going to happen because the way dmd is implemented and how it fogets about aliases of types (it just resolves them and forgets about the original alias name). I had some head-aches remembering those things in Descent. :-P Think of binding libraries like OpenGL, DirectX, even the windows API where all functions receive and return aliases. If an IDE shows the resolved aliases it's no use to the user, that's what aliases are for. Should I create an enhancement for this?
Oct 15 2009
Ary Borenszweig wrote:Should I create an enhancement for this?
Might as well.
Oct 15 2009
On Wed, 14 Oct 2009 20:46:25 -0700, Walter Bright wrote:The main purpose of this is to correct a couple of regressions that were blocking QtD and Tango. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.050.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.035.zip Many thanks to the numerous people who contributed to this update.
Hi Walter, Thanks for the commits to svn for us to testing! But the release came in a bit of a hurry. I reported two more regressions, thought there weren't marked as those because, well, I forgot to check all options.
Oct 15 2009
Walter Bright wrote:Bugzilla 1534: Can't mix in a case statement.
Woo hoo!
Oct 15 2009









Leandro Lucarella <llucax gmail.com> 