Thread overview
[Issue 19279] mutable does not promote to shared
Oct 01, 2018
Manu
Dec 17, 2022
Iain Buclaw
October 01, 2018
https://issues.dlang.org/show_bug.cgi?id=19279

--- Comment #1 from Manu <turkeyman@gmail.com> ---
Conversation: https://github.com/dlang/dmd/pull/8782

Reveals that `scope` is also necessary to guarantee that the promoted reference
does not escape.
Promotion is safe so long as no promoted-reference outlives the call where the
instance was promoted.

struct Bob
{
  void setThing() shared scope;
}

void f(ref shared Bob a, ref Bob b)
{
  a.setThing(); // I have a shared object, can call shared method

  b.setThing(); // this should work with `scope`
}

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

Iain Buclaw <ibuclaw@gdcproject.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P1                          |P4

--
December 13
https://issues.dlang.org/show_bug.cgi?id=19279

--- Comment #2 from dlangBugzillaToGithub <robert.schadek@posteo.de> ---
THIS ISSUE HAS BEEN MOVED TO GITHUB

https://github.com/dlang/dmd/issues/17880

DO NOT COMMENT HERE ANYMORE, NOBODY WILL SEE IT, THIS ISSUE HAS BEEN MOVED TO GITHUB

--