Thread overview
[Issue 22300] [REG 2.098-rc.2] `-checkaction=context` of a `shared` type with an `opCast` fails to compile
Oct 19, 2021
Dlang Bot
Oct 20, 2021
Dlang Bot
Oct 20, 2021
Dlang Bot
Oct 20, 2021
Dlang Bot
Oct 21, 2021
Dlang Bot
Nov 08, 2021
Dlang Bot
October 19, 2021
https://issues.dlang.org/show_bug.cgi?id=22300

--- Comment #1 from Dlang Bot <dlang-bot@dlang.rocks> ---
@MoonlightSentinel created dlang/dmd pull request #13203 "Issue 22300 - Allow shared <-> unshared reinterpreting casts during CTFE" mentioning this issue:

- Issue 22300 - Allow shared <-> unshared reinterpreting casts during CTFE

  CTFE evaluation is single threaded only, hence it's safe to discard the
  `shared` qualifier in a reinterpreting cast.

  This change allows `-checkaction=context` to use a reinterpreting cast
  for compile and runtime - which removes the problematic workaround
  that caused the regression.

https://github.com/dlang/dmd/pull/13203

--
October 20, 2021
https://issues.dlang.org/show_bug.cgi?id=22300

--- Comment #2 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #13203 "Issue 22300 - Allow shared <-> unshared reinterpreting casts during CTFE" was merged into stable:

- 80a4215978914d1860263da89884e6799679b36e by MoonlightSentinel:
  Issue 22300 - Allow shared <-> unshared reinterpreting casts during CTFE

  CTFE evaluation is single threaded only, hence it's safe to discard the
  `shared` qualifier in a reinterpreting cast.

  This change allows `-checkaction=context` to use a reinterpreting cast
  for compile and runtime - which removes the problematic workaround
  that caused the regression.

https://github.com/dlang/dmd/pull/13203

--
October 20, 2021
https://issues.dlang.org/show_bug.cgi?id=22300

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |pull

--- Comment #3 from Dlang Bot <dlang-bot@dlang.rocks> ---
@MoonlightSentinel created dlang/druntime pull request #3594 "purge changelog" fixing this issue:

- Fix 22300 - Use reinterpreting cast for shared types during CTFE

  Using the same method for compile- and runtime was enabled by
  dlang/dmd#13203. Using a reinterpreting cast avoids any potentially
  calling into user-defined `opCast` methods which might reject the cast.

https://github.com/dlang/druntime/pull/3594

--
October 20, 2021
https://issues.dlang.org/show_bug.cgi?id=22300

Dlang Bot <dlang-bot@dlang.rocks> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |FIXED

--- Comment #4 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/druntime pull request #3594 "Fix 22300 - Use reinterpreting cast for shared types during CTFE" was merged into stable:

- 54cc0705b6d412874087f79ba8e1c54042280397 by MoonlightSentinel:
  Fix 22300 - Use reinterpreting cast for shared types during CTFE

  Using the same method for compile- and runtime was enabled by
  dlang/dmd#13203. Using a reinterpreting cast avoids any potentially
  calling into user-defined `opCast` methods which might reject the cast.

https://github.com/dlang/druntime/pull/3594

--
October 21, 2021
https://issues.dlang.org/show_bug.cgi?id=22300

--- Comment #5 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/dmd pull request #13209 "Merge stable into master" was merged into master:

- 7f9ce4504af4cf08569493c1756a70b3f2faaaf9 by MoonlightSentinel:
  Issue 22300 - Allow shared <-> unshared reinterpreting casts during CTFE

  CTFE evaluation is single threaded only, hence it's safe to discard the
  `shared` qualifier in a reinterpreting cast.

  This change allows `-checkaction=context` to use a reinterpreting cast
  for compile and runtime - which removes the problematic workaround
  that caused the regression.

https://github.com/dlang/dmd/pull/13209

--
November 08, 2021
https://issues.dlang.org/show_bug.cgi?id=22300

--- Comment #6 from Dlang Bot <dlang-bot@dlang.rocks> ---
dlang/druntime pull request #3615 "Merge `stable` in `mater`" was merged into master:

- e8121cc6aaccfe5359071d077495de0c989be24c by MoonlightSentinel:
  Fix 22300 - Use reinterpreting cast for shared types during CTFE

  Using the same method for compile- and runtime was enabled by
  dlang/dmd#13203. Using a reinterpreting cast avoids any potentially
  calling into user-defined `opCast` methods which might reject the cast.

https://github.com/dlang/druntime/pull/3615

--