Re: dmd 1.046 and 2.031 releases

2009-07-17 Thread Don
BCS wrote: Reply to bearophile, John C: Did you not read the change log? Implicit integral conversions that could result in loss of significant bits are no longer allowed. This was the code: ubyte m = (n = 0 ? 0 : (n = 255 ? 255 : n)); That last n is guaranteed to fit inside an ubyte (yes,

Re: dmd 1.046 and 2.031 releases

2009-07-17 Thread Stewart Gordon
BCS wrote: Reply to bearophile, John C: Did you not read the change log? Implicit integral conversions that could result in loss of significant bits are no longer allowed. This was the code: ubyte m = (n = 0 ? 0 : (n = 255 ? 255 : n)); That last n is guaranteed to fit inside an ubyte snip

Re: dmd 1.046 and 2.031 releases

2009-07-17 Thread Don
Steven Schveighoffer wrote: On Fri, 17 Jul 2009 08:08:23 -0400, Don nos...@nospam.com wrote: In this case, I think bearophile's right: it's just a problem with range propagation of the ?: operator. I think the compiler should be required to do the semantics analysis for single expressions.

Re: dmd 1.046 and 2.031 releases

2009-07-17 Thread Steven Schveighoffer
On Fri, 17 Jul 2009 09:46:11 -0400, Don nos...@nospam.com wrote: Steven Schveighoffer wrote: On Fri, 17 Jul 2009 08:08:23 -0400, Don nos...@nospam.com wrote: In this case, I think bearophile's right: it's just a problem with range propagation of the ?: operator. I think the compiler should

Re: dmd 1.046 and 2.031 releases

2009-07-16 Thread bearophile
I'm playing with the new D2 a bit, this comes from some real D1 code: void main(string[] args) { int n = args.length; ubyte m = (n = 0 ? 0 : (n = 255 ? 255 : n)); } At compile-time the compiler says: temp.d(3): Error: cannot implicitly convert expression (n = 0 ? 0 : n = 255 ? 255 : n)

Re: dmd 1.046 and 2.031 releases

2009-07-16 Thread bearophile
John C: Did you not read the change log? Implicit integral conversions that could result in loss of significant bits are no longer allowed. This was the code: ubyte m = (n = 0 ? 0 : (n = 255 ? 255 : n)); That last n is guaranteed to fit inside an ubyte (yes, I understand the compiler is not

Re: dmd 1.046 and 2.031 releases

2009-07-16 Thread BCS
Reply to bearophile, John C: Did you not read the change log? Implicit integral conversions that could result in loss of significant bits are no longer allowed. This was the code: ubyte m = (n = 0 ? 0 : (n = 255 ? 255 : n)); That last n is guaranteed to fit inside an ubyte (yes, I understand

Re: dmd 1.046 and 2.031 releases

2009-07-16 Thread Jarrett Billingsley
On Thu, Jul 16, 2009 at 6:43 PM, Jason Housejason.james.ho...@gmail.com wrote: bearophile Wrote: I'm playing with the new D2 a bit, this comes from some real D1 code: void main(string[] args) {     int n = args.length;     ubyte m = (n = 0 ? 0 : (n = 255 ? 255 : n)); } At compile-time

Re: dmd 1.046 and 2.031 releases

2009-07-08 Thread Nick Sabalausky
Lionello Lunesu lione...@lunesu.remove.com wrote in message news:h30vss$pm...@digitalmars.com... Walter, since the lib/include folders were split according to OS, the dmd2 zip consistently has an extensionless lib file in the dmd2 folder. It's also in D1.

[OT] Magazine For Fai [was: dmd 1.046 and 2.031 releases]

2009-07-08 Thread Leandro Lucarella
Andrei Alexandrescu, el 8 de julio a las 11:46 me escribiste: I'm sorry about the spanish taglines, they are selected randomly =) And most (in spanish) are pretty local (argentine) jokes. P.S. With the help of a dictionary I think I figured most of this joke: MP: Cómo está, estimado

Re: dmd 1.046 and 2.031 releases

2009-07-08 Thread Walter Bright
Leandro Lucarella wrote: I incidentally went through all the D2 bug reports that had being fixed in this release and I was really surprised about how much of them had patches by Don (the vast majority!). Don's an awesome contributor. I and the rest of the D community are very much indebted to

Re: dmd 1.046 and 2.031 releases

2009-07-08 Thread Andrei Alexandrescu
Walter Bright wrote: Andrei Alexandrescu wrote: P.S. With the help of a dictionary I think I figured most of this joke: MP: Cómo está, estimado Bellini? B: Muy bien, Mario, astrologando. MP: Qué tengo? B: Un balcón-terraza. MP: No, en mi mano, Bellini... B: Un

Re: dmd 1.046 and 2.031 releases

2009-07-08 Thread Ary Borenszweig
Andrei Alexandrescu wrote: Walter Bright wrote: Andrei Alexandrescu wrote: P.S. With the help of a dictionary I think I figured most of this joke: MP: Cómo está, estimado Bellini? B: Muy bien, Mario, astrologando. MP: Qué tengo? B: Un balcón-terraza. MP: No, en mi mano,

Re: dmd 1.046 and 2.031 releases

2009-07-08 Thread Charles Hixson
Walter Bright wrote: grauzone wrote: I oriented this on the syntax of array slices. Which work that way. Not inconsistent at all. It's also consistent with foreach(_; x..y). It would look consistent, but it would behave very differently. x..y for foreach and slices is exclusive of the y,

Re: dmd 1.046 and 2.031 releases

2009-07-08 Thread Charles Hixson
Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax

Re: dmd 1.046 and 2.031 releases

2009-07-08 Thread Charles Hixson
Andrei Alexandrescu wrote: Robert Jacques wrote: On Tue, 07 Jul 2009 03:33:24 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: That's really cool. But I don't think that's actually happening (Or are these the bugs you're talking about?): byte x,y;

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Mon, 06 Jul 2009 21:29:43 -0700, Walter Bright wrote: Derek Parnell wrote: However, that aside, the syntax you have chosen will have a rational explanation for its superiority. So can you explain in simple terms why CaseLabelInt .. CaseLabelInt eg. case 1: .. case 9: is superior

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Lars T. Kyllingstad
Ary Borenszweig wrote: のしいか (noshiika) escribió: Thank you for the great work, Walter and all the other contributors. But I am a bit disappointed with the CaseRangeStatement syntax. Why is it case 0: .. case 9: instead of case 0 .. 9: With the latter notation, ranges can be easily used

Re: [OT] dmd 1.046 and 2.031 releases

2009-07-07 Thread BCS
Hello Daniel, [1] like me. My girlfriend disagrees with me on this, You have a girlfriend that even bothers to have an opinion on a programming issue, lucky bastard. though. *I* think she's crazy, but I'm not exactly inclined to try and change her mind. :) That reminds me of a quote: If

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 02:35:44 -0400, Robert Jacques sandf...@jhu.edu wrote: On Tue, 07 Jul 2009 01:48:41 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: On Mon, 06 Jul 2009 01:05:10 -0400, Walter Bright newshou...@digitalmars.com wrote: Something

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Robert Jacques wrote: On Tue, 07 Jul 2009 01:48:41 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: On Mon, 06 Jul 2009 01:05:10 -0400, Walter Bright newshou...@digitalmars.com wrote: Something for everyone here.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Brad Roberts
That's really cool. But I don't think that's actually happening (Or are these the bugs you're talking about?): byte x,y; short z; z = x+y; // Error: cannot implicitly convert expression (cast(int)x + cast(int)y) of type int to short // Repeat for ubyte, bool, char, wchar

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Robert Jacques wrote: Another inconsistency: byte[] x,y,z; z[] = x[]*y[]; // Compiles Bugzilla is its name. Andrei

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Brad Roberts wrote: That's really cool. But I don't think that's actually happening (Or are these the bugs you're talking about?): byte x,y; short z; z = x+y; // Error: cannot implicitly convert expression (cast(int)x + cast(int)y) of type int to short // Repeat for ubyte,

Re: [OT] dmd 1.046 and 2.031 releases

2009-07-07 Thread Ary Borenszweig
Andrei Alexandrescu escribió: BCS wrote: Hello Daniel, [1] like me. My girlfriend disagrees with me on this, You have a girlfriend that even bothers to have an opinion on a programming issue, lucky bastard. My understanding is that he's referring to a different issue. though. *I* think

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread KennyTM~
Ary Borenszweig wrote: Jesse Phillips escribió: On Mon, 06 Jul 2009 14:38:53 -0500, Andrei Alexandrescu wrote: Denis Koroskin wrote: Reuse goto? So any case-labeled code should end either with a control flow statement that transfers control elswhere? That sounds like a great idea.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Don
Walter Bright wrote: Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.046.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.031.zip Why is 'final switch' required? Another possible way of

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread bearophile
KennyTM~ Wrote: Maybe http://msdn.microsoft.com/en-us/vcsharp/aa336815.aspx . That compromise design looks good to be adopted by D too :-) Bye, bearophile

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
aarti_pl, el 7 de julio a las 00:27 me escribiste: Leandro Lucarella pisze: Andrei Alexandrescu, el 6 de julio a las 10:44 me escribiste: And what did those people use when they wanted to express a range of case labels? In other words, where did those people turn their heads towards? They

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 6 de julio a las 18:32 me escribiste: Leandro Lucarella wrote: Andrei Alexandrescu, el 6 de julio a las 10:44 me escribiste: And what did those people use when they wanted to express a range of case labels? In other words, where did those people turn their heads

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 03:33:24 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: That's really cool. But I don't think that's actually happening (Or are these the bugs you're talking about?): byte x,y; short z; z = x+y; // Error: cannot

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Robert Jacques wrote: On Tue, 07 Jul 2009 03:33:24 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: That's really cool. But I don't think that's actually happening (Or are these the bugs you're talking about?): byte x,y; short z; z = x+y; //

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 7 de julio a las 00:48 me escribiste: Robert Jacques wrote: On Mon, 06 Jul 2009 01:05:10 -0400, Walter Bright newshou...@digitalmars.com wrote: Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jarrett Billingsley
On Tue, Jul 7, 2009 at 11:33 AM, Andrei Alexandrescuseewebsiteforem...@erdani.org wrote: Well 32-bit architectures may be a historical relic but I don't think 32-bit integers are. And I think it would be too disruptive a change to promote results of arithmetic operation between integers to

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Moritz Warning
On Tue, 07 Jul 2009 08:53:49 +0200, Lars T. Kyllingstad wrote: Ary Borenszweig wrote: のしいか (noshiika) escribió: Thank you for the great work, Walter and all the other contributors. But I am a bit disappointed with the CaseRangeStatement syntax. Why is it case 0: .. case 9: instead of

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 11:36:26 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: Andrei, I have a short vector template (think vec!(byte,3), etc) where I've had to wrap the majority lines of code in cast(T)( ... ), because I support bytes and shorts. I

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing various range sets; a. Include begin Include end, i.e. [] b. Include begin Exclude end, i.e. [) c. Exclude begin Include end, i.e. (] d. Exclude begin Exclude

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing various range sets; a. Include begin Include end, i.e. [] b. Include begin Exclude end, i.e. [) c. Exclude begin Include end, i.e. (] d.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Robert Jacques wrote: On Tue, 07 Jul 2009 03:33:24 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: BTW: this means byte and short are not closed under arithmetic operations, which drastically limit their usefulness. I think they shouldn't be closed

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread bearophile
Andrei Alexandrescu: Safe D is concerned with memory safety only. And hopefully you will understand that is wrong :-) Bye, bearophile

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread bearophile
Andrei Alexandrescu: I think Walter's message really rendered the whole discussion moot. Post of the year: = I like: a .. b+1 to mean inclusive range. That was my preferred solution, starting from months ago. Bye, bearophile

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Bill Baxter wrote: 2009/7/7 Andrei Alexandrescu seewebsiteforem...@erdani.org: I think Walter's message really rendered the whole discussion moot. Post of the year: = I like: a .. b+1 to mean inclusive range. = Not everything is an integer.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 7 de julio a las 13:18 me escribiste: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing various range sets; a. Include begin Include end, i.e. [] b. Include

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Andrei Alexandrescu wrote: Bill Baxter wrote: 2009/7/7 Andrei Alexandrescu seewebsiteforem...@erdani.org: I think Walter's message really rendered the whole discussion moot. Post of the year: = I like: a .. b+1 to mean inclusive range. =

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Nick Sabalausky
Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h2vprn$1t7...@digitalmars.com... This is a different beast. We simply couldn't devise a satisfactory scheme within the constraints we have. No simple solution we could think of has worked, nor have a number of

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Jérôme M. Berger wrote: - A floating point range should allow you to specify the iteration step, or else it should allow you to iterate through all numbers that can be represented with the corresponding precision; We don't have that, so you'd need to use a straigh for statement. - The

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Nick Sabalausky wrote: Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h2vprn$1t7...@digitalmars.com... This is a different beast. We simply couldn't devise a satisfactory scheme within the constraints we have. No simple solution we could think of has worked, nor have a

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 7 de julio a las 10:56 me escribiste: Leandro Lucarella wrote: This seems nice. I think it would be nice if this kind of things are commented in the NG before a compiler release, to allow community input and discussion. Yup, that's what happened to case :o). I

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
bearophile wrote: Andrei Alexandrescu: How often did you encounter that issue? Please, let's be serious, and let's stop adding special cases to D, or they will kill the language. Don't get me going about what could kill the language. Lately I have seen too many special cases. For example

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Andrei Alexandrescu wrote: Jérôme M. Berger wrote: - A floating point range should allow you to specify the iteration step, or else it should allow you to iterate through all numbers that can be represented with the corresponding precision; We don't have that, so you'd need to use a straigh

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Leandro Lucarella wrote: Andrei Alexandrescu, el 7 de julio a las 10:56 me escribiste: Leandro Lucarella wrote: This seems nice. I think it would be nice if this kind of things are commented in the NG before a compiler release, to allow community input and discussion. Yup, that's what

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: - A floating point range should allow you to specify the iteration step, or else it should allow you to iterate through all numbers that can be represented with the corresponding precision; We don't have that, so

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Jérôme M. Berger
Walter Bright wrote: Andrei Alexandrescu wrote: Bill Baxter wrote: 2009/7/7 Andrei Alexandrescu seewebsiteforem...@erdani.org: I think Walter's message really rendered the whole discussion moot. Post of the year: = I like: a .. b+1 to mean inclusive range.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 14:16:14 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: On Tue, 07 Jul 2009 11:36:26 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: Andrei, I have a short vector template (think vec!(byte,3),

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Leandro Lucarella
Andrei Alexandrescu, el 7 de julio a las 15:12 me escribiste: Leandro Lucarella wrote: Andrei Alexandrescu, el 7 de julio a las 10:56 me escribiste: Leandro Lucarella wrote: This seems nice. I think it would be nice if this kind of things are commented in the NG before a compiler release,

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 20:13:45 +0200, Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for expressing various range sets; a. Include begin Include end, i.e. [] b. Include begin Exclude end, i.e. [)

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 14:05:33 -0400, Robert Jacques wrote: Well, how often does everyone else use bytes? Cryptography, in my case. -- Derek Parnell Melbourne, Australia skype: derek.j.parnell

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 18:05:26 -0400, Derek Parnell de...@psych.ward wrote: On Tue, 07 Jul 2009 14:05:33 -0400, Robert Jacques wrote: Well, how often does everyone else use bytes? Cryptography, in my case. Cool. If you don't mind, what's you're take new rules? (As different use cases

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 13:16:14 -0500, Andrei Alexandrescu wrote: Safe D is concerned with memory safety only. That's a pity. Maybe it should be renamed to Partially-Safe D, or Safe-ish D, Memory-Safe D, or ... well you get the point. Could be misleading for the great unwashed. -- Derek

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 21:20:42 +0200, Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Jérôme M. Berger wrote: Andrei Alexandrescu wrote: Derek Parnell wrote: It seems that D would benefit from having a standard syntax format for

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Andrei Alexandrescu wrote: Nick Sabalausky wrote: I assume then that you've looked at something lke C#'s checked/unchecked scheme and someone's (I forget who) idea of expanding that to something like unchecked(overflow, sign)? What was wrong with those sorts of things? An unchecked-based

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Robert Jacques wrote: The new rules are definitely an improvement over C, but they make byte/ubyte/short/ushort second class citizens, because practically every assignment requires a cast: byte a,b,c; c = cast(byte) a + b; They've always been second class citizens, as their types keep

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Nick Sabalausky
bearophile bearophileh...@lycos.com wrote in message news:h3093m$2mu...@digitalmars.com... Before adding a feature X let's discuss them, ... If not enough people like a solution then let's not add it. Something like that was attempted once before. Andrei didn't like what we had to say, got

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Nick Sabalausky
Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h30907$2lk...@digitalmars.com... Nick Sabalausky wrote: Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h2vprn$1t7...@digitalmars.com... This is a different beast. We simply couldn't devise a

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Nick Sabalausky wrote: Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h30907$2lk...@digitalmars.com... Nick Sabalausky wrote: Andrei Alexandrescu seewebsiteforem...@erdani.org wrote in message news:h2vprn$1t7...@digitalmars.com... This is a different beast. We simply

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Nick Sabalausky wrote: bearophile bearophileh...@lycos.com wrote in message news:h3093m$2mu...@digitalmars.com... Before adding a feature X let's discuss them, ... If not enough people like a solution then let's not add it. Something like that was attempted once before. Andrei didn't like

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Andrei Alexandrescu
Derek Parnell wrote: Here is where I propose having a signal to the compiler about which specific variables I'm worried about, and if I code an assignment to one of these that can potentially overflow, then the compiler must issue a message. You can implement that as a library. In fact I

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 20:48:50 -0400, Andrei Alexandrescu seewebsiteforem...@erdani.org wrote: Robert Jacques wrote: long g; g = e + f; = d = cast(long) e + cast(long) f; Works today. Wrong. I just tested this and what happens today is: g = cast(long)(e+f); And this is (I think) correct

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Andrei Alexandrescu wrote: You can implement that as a library. In fact I wanted to do it for Phobos for a long time. I've discussed it in this group too (to an unusual consensus), but I forgot the thread's title and stupid Thunderbird download 500 headers at a time forever even long after

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Derek Parnell
On Tue, 07 Jul 2009 18:26:36 -0700, Walter Bright wrote: All the messages from the dawn of time are online and available at http://www.digitalmars.com/d/archives/digitalmars/D/ and are searchable from the search box in the upper left. Okaaayy ... I see that this (checking for integer

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Lionello Lunesu
Walter Bright newshou...@digitalmars.com wrote in message news:h2s0me$30f...@digitalmars.com... Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.046.zip http://www.digitalmars.com/d/2.0/changelog.html

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 21:05:45 -0400, Walter Bright newshou...@digitalmars.com wrote: Andrei Alexandrescu wrote: Robert Jacques wrote: long g; g = e + f; = d = cast(long) e + cast(long) f; Works today. Wrong. I just tested this and what happens today is: g = cast(long)(e+f); And this is

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Thanks.

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Robert Jacques
On Tue, 07 Jul 2009 23:01:58 -0400, Walter Bright newshou...@digitalmars.com wrote: Robert Jacques wrote: (Caveat: most 32-bit compilers probably defaulted integer to int, though 64-bit compilers are probably defaulting integer to long.) All 32 bit C compilers defaulted int to 32 bits. 64

Re: dmd 1.046 and 2.031 releases

2009-07-07 Thread Walter Bright
Robert Jacques wrote: On Tue, 07 Jul 2009 23:01:58 -0400, Walter Bright newshou...@digitalmars.com wrote: Robert Jacques wrote: (Caveat: most 32-bit compilers probably defaulted integer to int, though 64-bit compilers are probably defaulting integer to long.) All 32 bit C compilers defaulted

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Derek Parnell
On Sun, 05 Jul 2009 22:05:10 -0700, Walter Bright wrote: Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.046.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.031.zip The -deps= switch is

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Derek Parnell
On Sun, 05 Jul 2009 22:05:10 -0700, Walter Bright wrote: Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.046.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.031.zip One of the very much

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Walter Bright
Derek Parnell wrote: One of the very much appreciated updates here is Implicit integral conversions that could result in loss of significant bits are no longer allowed.. An excellent enhancement, thank you. Thank Andrei for that, he was the prime mover behind it. But I am confused as this

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Derek Parnell
On Sun, 05 Jul 2009 23:35:24 -0700, Walter Bright wrote: Derek Parnell wrote: One of the very much appreciated updates here is Implicit integral conversions that could result in loss of significant bits are no longer allowed.. An excellent enhancement, thank you. Thank Andrei for that, he

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Tim Matthews
Walter Bright wrote: Daniel Keep wrote: Ooooh... looks very nice. Thanks again, Walter. :) Actually, a lot of people worked on this release, not just me. Incidentally, the links to Final Switch Statement and Case Range Statement in the changelog for 2.031 are broken. You quoted that but

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Walter Bright
Derek Parnell wrote: I'm struggling to see why the compiler cannot just disallow any signed-unsigned implicit conversion? Is it a matter of backward compatibility again? What's the signed-ness of 5? When you index a pointer, is the index signed or unsigned?

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Walter Bright
Derek Parnell wrote: I'm struggling to see why the compiler cannot just disallow any signed-unsigned implicit conversion? Is it a matter of backward compatibility again? What's the signed-ness of 5? When you index a pointer, is the index signed or unsigned?

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread MIURA Masahiro
Thanks for the new release! Are case ranges limited to 256 cases? % cat -n foo.d 1 import std.conv; 2 import std.stdio; 3 4 void main(string[] args) 5 { 6 int i = to!int(args[0]); 7 8 switch (i) { 9 case int.min: .. case -1: //

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread のしいか (noshiika)
Thank you for the great work, Walter and all the other contributors. But I am a bit disappointed with the CaseRangeStatement syntax. Why is it case 0: .. case 9: instead of case 0 .. 9: With the latter notation, ranges can be easily used together with commas, for example: case 0, 2

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Walter Bright
MIURA Masahiro wrote: Thanks for the new release! Are case ranges limited to 256 cases? Yes.

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Walter Bright
のしいか (noshiika) wrote: Thank you for the great work, Walter and all the other contributors. But I am a bit disappointed with the CaseRangeStatement syntax. Why is it case 0: .. case 9: instead of case 0 .. 9: With the latter notation, ranges can be easily used together with commas, for

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread grauzone
Walter Bright wrote: のしいか (noshiika) wrote: Thank you for the great work, Walter and all the other contributors. But I am a bit disappointed with the CaseRangeStatement syntax. Why is it case 0: .. case 9: instead of case 0 .. 9: Or case [0..10]: ? Compatible to how list slicing

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Walter Bright
grauzone wrote: Also, Walter, did you ever think about doing something about the fall-through-by-default issue? Of course in a way that preserves C compatibility. There have always been much more pressing issues.

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Tim Matthews
grauzone wrote: Walter Bright wrote: のしいか (noshiika) wrote: Thank you for the great work, Walter and all the other contributors. But I am a bit disappointed with the CaseRangeStatement syntax. Why is it case 0: .. case 9: instead of case 0 .. 9: Or case [0..10]: ? Compatible to

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Lutger
Thanks everybody!

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Derek Parnell
On Mon, 06 Jul 2009 00:11:26 -0700, Walter Bright wrote: Derek Parnell wrote: I'm struggling to see why the compiler cannot just disallow any signed-unsigned implicit conversion? Is it a matter of backward compatibility again? What's the signed-ness of 5? Positive. A positive number can

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread grauzone
Tim Matthews wrote: grauzone wrote: Walter Bright wrote: のしいか (noshiika) wrote: Thank you for the great work, Walter and all the other contributors. But I am a bit disappointed with the CaseRangeStatement syntax. Why is it case 0: .. case 9: instead of case 0 .. 9: Or case

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Denis Koroskin
On Mon, 06 Jul 2009 12:19:47 +0400, Walter Bright newshou...@digitalmars.com wrote: MIURA Masahiro wrote: Thanks for the new release! Are case ranges limited to 256 cases? Yes. Does it compare on case-by-case basis? Up to 256 comparisons?

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Denis Koroskin
On Mon, 06 Jul 2009 09:05:10 +0400, Walter Bright newshou...@digitalmars.com wrote: Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.046.zip http://www.digitalmars.com/d/2.0/changelog.html

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Denis Koroskin
On Mon, 06 Jul 2009 14:13:45 +0400, Walter Bright newshou...@digitalmars.com wrote: Derek Parnell wrote: On Mon, 06 Jul 2009 00:11:26 -0700, Walter Bright wrote: Derek Parnell wrote: I'm struggling to see why the compiler cannot just disallow any signed-unsigned implicit conversion? Is it

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Walter Bright
Denis Koroskin wrote: Does it compare on case-by-case basis? Up to 256 comparisons? What do you mean? Obj2asm will show what it is doing.

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Anders F Björklund
Walter Bright wrote: Something for everyone here. http://www.digitalmars.com/d/1.0/changelog.html http://ftp.digitalmars.com/dmd.1.046.zip http://www.digitalmars.com/d/2.0/changelog.html http://ftp.digitalmars.com/dmd.2.031.zip The dmd2 phobos seem to have a directory replaced with a file,

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Walter Bright
Derek Parnell wrote: On Mon, 06 Jul 2009 00:11:26 -0700, Walter Bright wrote: Derek Parnell wrote: I'm struggling to see why the compiler cannot just disallow any signed-unsigned implicit conversion? Is it a matter of backward compatibility again? What's the signed-ness of 5? Positive. A

Re: dmd 1.046 and 2.031 releases

2009-07-06 Thread Walter Bright
Denis Koroskin wrote: auto x = p1 - p2; What's the type of x? ptrdiff_t, signed counterpart of size_t Do you really want an error if you go: size_t y = p1 - p2; ?

  1   2   >