Thread overview | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
August 31, 2015 Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
First beta for the 2.068.1 point release (we skipped -b1 due to a bug). http://downloads.dlang.org/pre-releases/2.x/2.068.1/ http://ftp.digitalmars.com/ Also available on Travis-CI as dmd-2.068.1-b2. This beta comes with plent dmd and a few druntime, phobos, and installer fixes. https://github.com/D-Programming-Language/dmd/compare/v2.068.0...v2.068.1-b2 https://github.com/D-Programming-Language/druntime/compare/v2.068.0...v2.068.1-b2 https://github.com/D-Programming-Language/phobos/compare/v2.068.0...v2.068.1-b2 https://github.com/D-Programming-Language/installer/compare/v2.068.0...v2.068.1-b2 Please report any bugs at https://issues.dlang.org. -Martin |
August 31, 2015 Re: Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Nowak | On 2015-08-31 08:01, Martin Nowak wrote: > Please report any bugs at https://issues.dlang.org. https://issues.dlang.org/show_bug.cgi?id=14986 -- /Jacob Carlborg |
August 31, 2015 Re: Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Nowak | On 2015-08-31 08:01, Martin Nowak wrote: > First beta for the 2.068.1 point release (we skipped -b1 due to a bug). I started compile my projects with DMD 2.068.0 (yes, I know I'm a bit late). I noted that this piece of code that compiles in 2.067.0 doesn't compile in 2.068.0 (or 2.068.1-b2) : class Foo { override string toString() in { } body { return "foo"; } } The error message I get is: main.d(3): Error: function main.Foo.toString cannot have an in contract when overriden function object.Object.toString does not have an in contract The above code is a minimal testcase extracted from Tango. The question is, is this a regression or expected? I suspect it's expected. The check was added four years ago, although I don't understand why it hasn't been hit before. -- /Jacob Carlborg |
August 31, 2015 Re: Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Nowak | On Monday, 31 August 2015 at 06:02:08 UTC, Martin Nowak wrote: > First beta for the 2.068.1 point release (we skipped -b1 due to a bug). > > http://downloads.dlang.org/pre-releases/2.x/2.068.1/ http://ftp.digitalmars.com/ > > Also available on Travis-CI as dmd-2.068.1-b2. > > This beta comes with plent dmd and a few druntime, phobos, and installer fixes. > > https://github.com/D-Programming-Language/dmd/compare/v2.068.0...v2.068.1-b2 https://github.com/D-Programming-Language/druntime/compare/v2.068.0...v2.068.1-b2 https://github.com/D-Programming-Language/phobos/compare/v2.068.0...v2.068.1-b2 https://github.com/D-Programming-Language/installer/compare/v2.068.0...v2.068.1-b2 > > Please report any bugs at https://issues.dlang.org. > > -Martin It looks like there is a regression in variant.d: I compile template without vibed and get: --- C:\Dev\dmd2\windows\bin\..\..\src\phobos\std\variant.d: Error: function std.variant.VariantN!20u.VariantN.__xopEquals errors compiling the function --- It looks very strange because - the line number is even not displayed. - relative path is quite unusuall in an error message. |
August 31, 2015 Re: Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On Monday, 31 August 2015 at 07:08:20 UTC, Jacob Carlborg wrote: > On 2015-08-31 08:01, Martin Nowak wrote: >> First beta for the 2.068.1 point release (we skipped -b1 due to a bug). > > I started compile my projects with DMD 2.068.0 (yes, I know I'm a bit late). I noted that this piece of code that compiles in 2.067.0 doesn't compile in 2.068.0 (or 2.068.1-b2) : > > class Foo > { > override string toString() > in { } > body > { > return "foo"; > } > } > > The error message I get is: > > main.d(3): Error: function main.Foo.toString cannot have an in contract when overriden function object.Object.toString does not have an in contract > > The above code is a minimal testcase extracted from Tango. > > The question is, is this a regression or expected? I suspect it's expected. The check was added four years ago, although I don't understand why it hasn't been hit before. https://issues.dlang.org/show_bug.cgi?id=14988 - Kenji |
August 31, 2015 Re: Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to BBasile | On Monday, 31 August 2015 at 13:15:57 UTC, BBasile wrote:
> On Monday, 31 August 2015 at 06:02:08 UTC, Martin Nowak wrote:
>> [...]
>
> It looks like there is a regression in variant.d:
>
> I compile template without vibed and get:
>
> ---
> C:\Dev\dmd2\windows\bin\..\..\src\phobos\std\variant.d: Error: function std.variant.VariantN!20u.VariantN.__xopEquals errors compiling the function
> ---
>
> It looks very strange because
> - the line number is even not displayed.
> - relative path is quite unusuall in an error message.
I meant 'temple' without vibe.d
|
September 01, 2015 Re: Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Martin Nowak | On 2015-08-31 08:01, Martin Nowak wrote: > First beta for the 2.068.1 point release (we skipped -b1 due to a bug). Here's a piece of code that used to compile in 2.067.0 but not in 2.068.0: class UniText { abstract const char[] toString (char[] dst = null); abstract const wchar[] toString16 (wchar[] dst = null); abstract const dchar[] toString32 (dchar[] dst = null); } The error message is: Error: class main.UniText use of object.Object.toString() is hidden by UniText; use 'alias toString = Object.toString;' to introduce base class overload set I suspect this is intended? -- /Jacob Carlborg |
September 01, 2015 Re: Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg Attachments:
| On Tue, Sep 1, 2015 at 8:34 AM, Jacob Carlborg via Digitalmars-d-announce < digitalmars-d-announce@puremagic.com> wrote: > On 2015-08-31 08:01, Martin Nowak wrote: > >> First beta for the 2.068.1 point release (we skipped -b1 due to a bug). >> > > Here's a piece of code that used to compile in 2.067.0 but not in 2.068.0: > > class UniText > { > abstract const char[] toString (char[] dst = null); > abstract const wchar[] toString16 (wchar[] dst = null); > abstract const dchar[] toString32 (dchar[] dst = null); > } > > The error message is: > > Error: class main.UniText use of object.Object.toString() is hidden by UniText; use 'alias toString = Object.toString;' to introduce base class overload set > > I suspect this is intended? > > -- > /Jacob Carlborg > Yep, that is intended. You have to explicitly "import" overload sets. It does seem to me that if there is only one function in the other overload set the error could be disabled, however it is clearer the way it works in 2.068. And it will get us used to having to be explicit when adding to overload sets like in the code above. |
September 01, 2015 Re: Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jacob Carlborg | On 9/1/15 2:34 AM, Jacob Carlborg wrote:
> On 2015-08-31 08:01, Martin Nowak wrote:
>> First beta for the 2.068.1 point release (we skipped -b1 due to a bug).
>
> Here's a piece of code that used to compile in 2.067.0 but not in 2.068.0:
>
> class UniText
> {
> abstract const char[] toString (char[] dst = null);
> abstract const wchar[] toString16 (wchar[] dst = null);
> abstract const dchar[] toString32 (dchar[] dst = null);
> }
>
> The error message is:
>
> Error: class main.UniText use of object.Object.toString() is hidden by
> UniText; use 'alias toString = Object.toString;' to introduce base class
> overload set
>
> I suspect this is intended?
>
I'm not 100% sure, but that does seem like a bug.
You should be able to completely mask toString from a base class if you don't specify override IMO.
I'm assuming the minimal case is just toString?
-Steve
|
September 01, 2015 Re: Beta D 2.068.1-b2 | ||||
---|---|---|---|---|
| ||||
Posted in reply to Steven Schveighoffer | On 2015-09-01 15:40, Steven Schveighoffer wrote: > I'm not 100% sure, but that does seem like a bug. > > You should be able to completely mask toString from a base class if you > don't specify override IMO. Hmm, I'm not sure. This overloads toString. > I'm assuming the minimal case is just toString? Yes. -- /Jacob Carlborg |
Copyright © 1999-2021 by the D Language Foundation