Thread overview
[Issue 17743] Type system hole: escaping inout delegates
Aug 12, 2017
Walter Bright
Dec 13, 2021
anonymous4
Dec 17, 2022
Iain Buclaw
August 12, 2017
https://issues.dlang.org/show_bug.cgi?id=17743

Walter Bright <bugzilla@digitalmars.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |safe
                 CC|                            |bugzilla@digitalmars.com

--
August 14, 2017
https://issues.dlang.org/show_bug.cgi?id=17743

Steven Schveighoffer <schveiguy@yahoo.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |schveiguy@yahoo.com

--- Comment #1 from Steven Schveighoffer <schveiguy@yahoo.com> ---
This is why inout data is not allowed to be stored as a global (which essentially you have done). Basically, inout data should not be allowed to escape the function except via the parameters or return, where it is properly handled.

--
December 13, 2021
https://issues.dlang.org/show_bug.cgi?id=17743

andy.pj.hanson@gmail.com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |andy.pj.hanson@gmail.com

--
December 13, 2021
https://issues.dlang.org/show_bug.cgi?id=17743

--- Comment #2 from anonymous4 <dfj1esp02@sneakemail.com> ---
As I understand, it's due to decision that nested functions use inout qialifier of the outer function. Then an easy way to fix this is to disallow conversion of such nested function to inout-typed delegate.

--
December 17, 2022
https://issues.dlang.org/show_bug.cgi?id=17743

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P2

--