Jump to page: 1 2
Thread overview
[Issue 18493] [betterC] Can't use aggregated type with postblit
Feb 22, 2018
Radu
Feb 22, 2018
Radu
Mar 26, 2018
Radu Racariu
Mar 26, 2018
Radu Racariu
Apr 17, 2018
Radu Racariu
Apr 18, 2018
Mike Franklin
Apr 18, 2018
Radu Racariu
Apr 26, 2018
Radu Racariu
May 08, 2018
Mike Franklin
Jun 12, 2018
Mike Franklin
Apr 04, 2023
Dlang Bot
Apr 08, 2023
Dlang Bot
February 22, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

Radu <radu.racariu@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |betterC

--
February 22, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

Radu <radu.racariu@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Severity|enhancement                 |blocker

--- Comment #1 from Radu <radu.racariu@gmail.com> ---
Errors out on dmd 2.0.78.3 and dmd 2.0.79-beta1

https://run.dlang.io/is/R6BWSz

--
March 26, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

--- Comment #2 from Radu Racariu <radu.racariu@gmail.com> ---
Even more reduced test case:
---
struct S
{
    this(this)
    {
    }

    ~this()
    {
    }
}

struct C
{
    S s1;
    S s2;
}
---

--
March 26, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

Radu Racariu <radu.racariu@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |industry

--
April 17, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

--- Comment #3 from Radu Racariu <radu.racariu@gmail.com> ---
Declaring `C` as

---
struct C
{
    S s1;
}
---

makes the test case compile.

--
April 18, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

Mike Franklin <slavo5150@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull
                 CC|                            |slavo5150@yahoo.com

--- Comment #4 from Mike Franklin <slavo5150@yahoo.com> ---
A PR has been submitted to remove generation of the try-catch if the postblit is `nothrow`:  https://github.com/dlang/dmd/pull/8184

I don't consider this a complete fix to this issue, but if it is accepted, it will allow one to attribute their postblit with `nothrow` to avoid the error in -betterC.

I'm pondering a more thorough solution for -betterC, and intend to tackle that as another PR.

--
April 18, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

--- Comment #5 from Radu Racariu <radu.racariu@gmail.com> ---
Ideally -betterC should imply `nothrow`, and any lowered code should work with this assumption.

What is important to keep in mind is that if you require `this(this)` to be annotated with `nothrow` in order to compile - you need to fix the error message for the case where it isn't and using -betterC, the current error message is very bad.

--
April 26, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

--- Comment #6 from Radu Racariu <radu.racariu@gmail.com> ---
I though more about this and I think betterC should imply nothrow *only for* compiler generated code.

Making betterC nothrow by default will change semantics and basically split the language in two, as betterC code will have 2 different defaults depending on the switch.

This means that betterC should start error out on non nothrow code, with a deprecation period for interim.

--
April 28, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

--- Comment #7 from github-bugzilla@puremagic.com ---
Commit pushed to master at https://github.com/dlang/dmd

https://github.com/dlang/dmd/commit/8a33fb6c692d0b2c1f03ceeb65c28beaebd932a0 Add test for issue 18493

--
May 08, 2018
https://issues.dlang.org/show_bug.cgi?id=18493

Mike Franklin <slavo5150@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           See Also|                            |https://issues.dlang.org/sh
                   |                            |ow_bug.cgi?id=18828

--
« First   ‹ Prev
1 2