[Issue 23101] [std.sumtype] canMatch does not account ref
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Thu May 12 08:17:50 UTC 2022
https://issues.dlang.org/show_bug.cgi?id=23101
Dlang Bot <dlang-bot at dlang.rocks> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |FIXED
--- Comment #4 from Dlang Bot <dlang-bot at dlang.rocks> ---
dlang/phobos pull request #8457 "Issue 23101 - [std.sumtype] canMatch does not
account ref " was merged into master:
- 6069c449303e8571b7b73c4fe50fc3088832d5fe by João Lourenço:
fix(sumtype): template canMatch does not account for ref when matching
The template `canMatch` does not account for `ref`.
The template `valueTypes` stores all types of the member values and uses
SumTypes's `get` function, which returns a `ref`.
However, ref does not persist and the type is not sent to `canMatch` as a
`ref`.
Because of this, when matching, `canMatch` will fail as it will test for a
copy, and returning a reference of that value results in escaping it.
Fix Issue 23101
Signed-off-by: João Lourenço <jlourenco5691 at gmail.com>
https://github.com/dlang/phobos/pull/8457
--
More information about the Digitalmars-d-bugs
mailing list