Re: dmd 1.058 and 2.043 release

2010-04-10 Thread Don
bearophile wrote: Now I have tested this release a little better, it seems to work well. I have to say two things: 1) The bug 3911 was a mix of two different bugs, Don has fixed one of them, so I have closed the bug 3911 and I have opened a new cleaned bug report, number 4075: Please don't

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread Walter Bright
Don wrote: Please don't clutter the announce newsgroup with bug reports. And in general, do NOT put multiple bugs in one report. In particular, it's worth saying this to everyone: if something causes a compiler segfault or an internal compiler error, ALWAYS put it in its own report. In 95%

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread bearophile
Walter Bright: Thank you for your answer. The error is not a mismatched file name, which is perfectly legitimate in D. Do you mean that in D it is OK to have a file named foo.d with inside it at the top written module bar; ? What's the rationale behind this? (I don't like this). The error

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread Walter Bright
bearophile wrote: Walter Bright: Thank you for your answer. The error is not a mismatched file name, which is perfectly legitimate in D. Do you mean that in D it is OK to have a file named foo.d with inside it at the top written module bar; ? Yes. What's the rationale behind this? (I

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread BCS
Hello Walter, bearophile wrote: Walter Bright: Thank you for your answer. The error is not a mismatched file name, which is perfectly legitimate in D. Do you mean that in D it is OK to have a file named foo.d with inside it at the top written module bar; ? Yes. What's the rationale

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread bearophile
Walter Bright: The flexibility comes in handy now and then. OK, I have never felt the need of such extra flexibility in my D programs, so I trust your judgement. Every time a a semantic hole is left in a language (and this is a little hole), you have to pay a price, in terms for example of: -

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread bearophile
BCS: For example, having foo_linux.d and foo_win.d both claiming to be foo. OK. And I presume you don't want to use a single module with a mega version(linux) {...} else {...} inside. Thank you, bearophile

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread BCS
Hello Robert, No need for a huge module, or module names mismatching file names: module foo; version (linux) import foo_linux; version (Windows) import foo_win; Sure it adds and extra file, it's a lot cleaner imo than having a huge module with both implementations or mismatching

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread bearophile
BCS: I don't think that works in one case; where you are forced to use fully qualified name. You can probably use a public import. Bye, bearophile

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread BCS
Hello bearophile, BCS: I don't think that works in one case; where you are forced to use fully qualified name. You can probably use a public import. IIRC, all that does is make anything that imports you, import that as well. It doesn't do anything to the names. -- ... IXOYE

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread bearophile
BCS: IIRC, all that does is make anything that imports you, import that as well. It doesn't do anything to the names. I meant to create a module named foo with inside: module foo; version (linux) public import foo_linux; version (Windows) public import foo_win; The module system has numerous

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread BCS
Hello bearophile, BCS: IIRC, all that does is make anything that imports you, import that as well. It doesn't do anything to the names. I meant to create a module named foo with inside: module foo; version (linux) public import foo_linux; version (Windows) public import foo_win; The module

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread Robert Clipsham
On 09/04/10 23:11, bearophile wrote: BCS: For example, having foo_linux.d and foo_win.d both claiming to be foo. OK. And I presume you don't want to use a single module with a mega version(linux) {...} else {...} inside. Thank you, bearophile No need for a huge module, or module names

Re: dmd 1.058 and 2.043 release

2010-04-10 Thread dennis luehring
What's the rationale behind this? (I don't like this). The flexibility comes in handy now and then. but isn't that an abstract form of hijacking then? or an sideeffect smelling like that?

Re: dmd 1.058 and 2.043 release

2010-04-09 Thread biozic
Le 09/04/10 13:35, bearophile a écrit : Thank you for the release and your work, and thank you to Don for all the bug fixes. I will need some more time to test this release better. In the meantime, is it possible to use BigInts into an AA? This gives a Range violation: import std.bigint:

Re: dmd 1.058 and 2.043 release

2010-04-09 Thread Lars T. Kyllingstad
bearophile wrote: Thank you for the release and your work, and thank you to Don for all the bug fixes. I will need some more time to test this release better. In the meantime, is it possible to use BigInts into an AA? This gives a Range violation: import std.bigint: BigInt; void main() {

Re: dmd 1.058 and 2.043 release

2010-04-09 Thread bearophile
Now I have tested this release a little better, it seems to work well. I have to say two things: 1) The bug 3911 was a mix of two different bugs, Don has fixed one of them, so I have closed the bug 3911 and I have opened a new cleaned bug report, number 4075: