Jump to page: 1 2 3
Thread overview
Beta D 2.068.1-b2
Aug 31, 2015
Martin Nowak
Aug 31, 2015
Jacob Carlborg
Aug 31, 2015
Jacob Carlborg
Aug 31, 2015
Kenji Hara
Aug 31, 2015
BBasile
Aug 31, 2015
BBasile
Sep 05, 2015
BBasile
Sep 05, 2015
Dylan Knutson
Sep 01, 2015
Jacob Carlborg
Sep 01, 2015
Rory McGuire
Sep 01, 2015
Jacob Carlborg
Sep 01, 2015
Jacob Carlborg
Sep 01, 2015
Jacob Carlborg
Sep 02, 2015
Meta
Sep 02, 2015
Jacob Carlborg
Sep 04, 2015
BBasile
Sep 04, 2015
BBasile
Sep 04, 2015
Kapps
Sep 04, 2015
Martin Nowak
Sep 04, 2015
Jacob Carlborg
August 31, 2015
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
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
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
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
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
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
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
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
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
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
« First   ‹ Prev
1 2 3