September 03, 2009 dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
This will probably be the last OSX 10.5 release, the next should be 10.6. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.047.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.032.zip Many thanks to the numerous people who contributed to this update. | ||||
September 03, 2009 Re: dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote: > This will probably be the last OSX 10.5 release, the next should be 10.6. > > http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.047.zip > > > http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.032.zip > > Many thanks to the numerous people who contributed to this update. Nice.. looks like 5 of 27 regression bugs have been fixed: 2560 -- 2.x 2665 -- 2.x 3168 -- 1.x 3169 -- 2.x 3196 -- 1.x and 2.x http://d.puremagic.com/issues/buglist.cgi?product=D&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=regression 68 ever filed 22 left after this round Coincidently meaning 68% of the regression bugs have been fixed. 32% left. Good stuff, Brad | |||
September 03, 2009 Re: dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | M-M-M-MONSTER KILL! The serious bug splatting action continues. Thank you Walter and contributors. | |||
September 03, 2009 Re: dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote: > This will probably be the last OSX 10.5 release, the next should be 10.6. > > http://www.digitalmars.com/d/1.0/changelog.html > http://ftp.digitalmars.com/dmd.1.047.zip > > > http://www.digitalmars.com/d/2.0/changelog.html > http://ftp.digitalmars.com/dmd.2.032.zip > > Many thanks to the numerous people who contributed to this update. Errata: dmd2 source, arrayop.c, line 427 is missing a 'return'. - Expression::buildArrayLoop(fparams); + return Expression::buildArrayLoop(fparams); (this only matters if you are building DMD from source. It's not a bug in the released DMD). A few bugs are fixed but not listed in the changelog: 3077 crash exiting main() without result code 3100 ICE(cast.c) struct with members is shared 3253 DMD crashes on function pointer struct member initialization with function literal 3281 ICE(cod1.c) append returned struct to array | |||
September 03, 2009 Re: dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote:
> This will probably be the last OSX 10.5 release, the next should be 10.6.
>
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.047.zip
>
>
> http://www.digitalmars.com/d/2.0/changelog.html
> http://ftp.digitalmars.com/dmd.2.032.zip
>
> Many thanks to the numerous people who contributed to this update.
This is great! I can't wait to try out the compiler's new CTFE capabilities. :)
Thanks, Walter, Don, Andrei, and other contributors, for putting in all the hard work!
-Lars
| |||
September 03, 2009 Re: dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Don | Indeed, using CTFE will probably feel different after this release of D1/D2. Good work. I'd like to improve this Wikipedia page some more: http://en.wikipedia.org/wiki/Compile_time_function_execution So after all such bugfixes are there better ways to implement the following code (better = simpler, more natural, etc)? import std.stdio: writeln; int[] genFactorials(int n) { int factorial(uint n) { int result = 1; for (int i = 1; i < n+1; i++) result *= i; return result; } int[] result; for (; n >= 0; --n) result = factorial(n) ~ result; return result; } const int N = 13; static const auto factorials = cast(int[N])genFactorials(N - 1); void main() { writeln(factorials); } For me creating tables at compile-time is an important use case for CTFE. But that CTFE code is/was fragile, if you change it a bit it stops compiling. Bye, bearophile | |||
September 03, 2009 Re: dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright wrote:
> This will probably be the last OSX 10.5 release, the next should be 10.6.
>
> http://www.digitalmars.com/d/1.0/changelog.html
> http://ftp.digitalmars.com/dmd.1.047.zip
>
>
> http://www.digitalmars.com/d/2.0/changelog.html
> http://ftp.digitalmars.com/dmd.2.032.zip
>
> Many thanks to the numerous people who contributed to this update.
I think Walter forgot to update the changelog from svn before releasing. I've sent a bunch more fixes which I paste in source form below. Walter, could you please update changelog.dd from svn and then update the html changelog? Let's make this bug slugfest a tad even more impressive :o). Thanks.
Andrei
$(LI $(BUGZILLA 3249): sort and setIntersection on array of struct or class)
$(LI $(BUGZILLA 3245): Easy bug fix available for disabled unit test code in std.encoding)
$(LI $(BUGZILLA 3242): splitter does not handle input range made of a unique separator correctly)
$(LI $(BUGZILLA 3239): std.conv.roundTo does not accept const/immutable/shared)
$(LI $(BUGZILLA 3224): std.random documentation bugs)
$(LI $(BUGZILLA 3219): Inaccurate std.conv.to!(numeric)(numeric) error messages)
$(LI $(BUGZILLA 3218): Performance of std.xml.encode must be improved)
$(LI $(BUGZILLA 3217): std.functional.binaryFunImpl doesn't support UDT with string functions , therefore neither does many std.algorithm functions)
$(LI $(BUGZILLA 2979): Xml tags with only attributes return as without attributes ElementParser.parse)
$(LI $(BUGZILLA 3199): sort(chain(...)) doesn't work in some cases)
$(LI $(BUGZILLA 3197): Minor fixes and additions to std.traits)
$(LI $(BUGZILLA 3195): `std.conv` pureness (closed with "later" advise))
$(LI $(BUGZILLA 3189): `std.conv.to` : check for a custom `to` method in classes/structs)
$(LI $(BUGZILLA 3184): std.algorithm.until should work like "find")
$(LI $(BUGZILLA 3148): syntax error using invariant)
$(LI $(BUGZILLA 3132): std.string.split should be templated on mutable/const/immutable)
$(LI $(BUGZILLA 3098): std.algorithm.reduce example can not compile)
$(LI $(BUGZILLA 3087): std.range.retro.opIndex out of range)
$(LI $(BUGZILLA 3074): std.conv.to!(string)(int.min))
$(LI $(BUGZILLA 3037): Off-by-one error in Stride.length)
$(LI $(BUGZILLA 3025): uniform(float,float) pops first, uniform(int,int) pops last)
$(LI $(BUGZILLA 3017): doc errors in std.range (on behalf of Steven Schveighoffer))
$(LI $(BUGZILLA 2996): std.typetuple: add support for any static tuples)
$(LI $(BUGZILLA 2992): (closed with "later" advise))
$(LI $(BUGZILLA 2989): std.typetuple: add support for any static tuples)
$(LI $(BUGZILLA 2988): Chain needs opIndexAssign.)
$(LI $(BUGZILLA 2976): rename retreatN to retreat)
$(LI $(BUGZILLA 2980): compiler error when writefln( uint ))
$(LI $(BUGZILLA 2786): Interfaces should be able to require constructors (closed with "invalid" advise))
$(LI $(BUGZILLA 2785): Interfaces should be able to require non-member functions (closed with "invalid" advise))
$(LI $(BUGZILLA 2784): Interfaces should be able to require type definitions (closed with "invalid" advise))
$(LI $(BUGZILLA 2150): cannot get values from const variant)
$(LI $(BUGZILLA 1940): Phobos buildscripts do not work on x86_64)
$(LI $(BUGZILLA 3260): "Error: undefined identifier backend" when compiling 'write' with 'wchar')
$(LI $(BUGZILLA 1604): Non-final method on final struct is too restrictive (closed with "invalid" advise))
$(LI $(BUGZILLA 1616): std/metastrings.d)
| |||
September 03, 2009 Re: dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Brad Roberts | Brad Roberts Wrote:
> Walter Bright wrote:
> > This will probably be the last OSX 10.5 release, the next should be 10.6.
> >
> > http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.047.zip
> >
> >
> > http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.032.zip
> >
> > Many thanks to the numerous people who contributed to this update.
>
> Nice.. looks like 5 of 27 regression bugs have been fixed:
>
> 2560 -- 2.x
> 2665 -- 2.x
> 3168 -- 1.x
> 3169 -- 2.x
> 3196 -- 1.x and 2.x
>
> http://d.puremagic.com/issues/buglist.cgi?product=D&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=regression
>
> 68 ever filed
> 22 left after this round
>
> Coincidently meaning 68% of the regression bugs have been fixed. 32% left.
>
> Good stuff,
> Brad
Awesome, I'm gonna install and update my code today :)
This may be early, but what can we expect for 2.0.33? New features such as T[new] and working shared aggregates?
| |||
September 03, 2009 Re: dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Walter Bright | Walter Bright, el 3 de septiembre a las 01:16 me escribiste: > This will probably be the last OSX 10.5 release, the next should be 10.6. > > http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.047.zip > > > http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.032.zip > > Many thanks to the numerous people who contributed to this update. These are a very good release, thanks for your work. Aren't the new CTFE capabilities new features? It's ok to fold them in DMD1? This is a change to the specs too (unless is considered a non-standard DMD extension to D1). I just wonder where the line is drawn to fold changes into D1. Don't get me wrong, as I stated before, I'm really glad D1 get some new features/improvements, I just think the changes should be a little more tested before hit D1 (and new aditions to D1 should be more planned, for example, leaving them in D2 for a few releases only, so you can get real feedback from users before puting them in D1, and having some version scheme to indicate when new features are added). -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- If you don't know what direction you should take You don't know where you are | |||
September 03, 2009 Re: dmd 1.047 and 2.032 releases | ||||
|---|---|---|---|---|
| ||||
Posted in reply to Leandro Lucarella | Leandro Lucarella wrote: > Walter Bright, el 3 de septiembre a las 01:16 me escribiste: >> This will probably be the last OSX 10.5 release, the next should be 10.6. >> >> http://www.digitalmars.com/d/1.0/changelog.html >> http://ftp.digitalmars.com/dmd.1.047.zip >> >> >> http://www.digitalmars.com/d/2.0/changelog.html >> http://ftp.digitalmars.com/dmd.2.032.zip >> >> Many thanks to the numerous people who contributed to this update. > > These are a very good release, thanks for your work. > > Aren't the new CTFE capabilities new features? They're basically bug fixes. All that stuff should have worked. There are several other bugs which cannot be fixed without them. For example, bug 1461 couldn't be fixed without allowing nested functions. Bug 1950 couldn't be fixed without implementing almost everything required for member functions. Some bugs are so crippling that when they're fixed, it's pretty much a new feature. > Don't get me wrong, as I stated before, I'm really glad D1 get some new > features/improvements, I just think the changes should be a little more > tested before hit D1 (and new aditions to D1 should be more planned, for > example, leaving them in D2 for a few releases only, so you can get real > feedback from users before puting them in D1, and having some version > scheme to indicate when new features are added). I believe you will find the new CTFE very stable. In implementing the improvements, many structural problems were fixed. It turns out to be a very effective way of diagnosing bugs. | |||
Copyright © 1999-2021 by the D Language Foundation
Permalink
Reply