Bug 22085 – checkaction=context doesn't support extern(C++) classes

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
All
OS
All
Creation time
2021-06-26T22:26:14Z
Last change time
2021-06-27T00:32:18Z
Keywords
pull
Assigned to
No Owner
Creator
moonlightsentinel

Comments

Comment #0 by moonlightsentinel — 2021-06-26T22:26:14Z
-checkaction=context doesn't format extern(C++) classes, e.g. instances of the following class will only be formatted as `Cpp` extern(C++) class Cpp { int a; this(int a) { this.a = a; } }
Comment #1 by dlang-bot — 2021-06-26T22:32:32Z
@MoonlightSentinel created dlang/druntime pull request #3503 "Fix 22085 - Format members of extern(C++) classes without toString" fixing this issue: - Fix 22085 - Format members of extern(C++) classes without toString `extern(C++)` classes don't have a `toString` by default and hence could not be formatted before. Treating them like structs should at least provide some meaningful output although it could miss inherited members for subclasses. https://github.com/dlang/druntime/pull/3503
Comment #2 by dlang-bot — 2021-06-27T00:32:18Z
dlang/druntime pull request #3503 "Fix 22085 - Format members of extern(C++) classes without toString" was merged into master: - 503463578caf630b5546c35f58f7ba3d6eb4983e by MoonlightSentinel: Fix 22085 - Format members of extern(C++) classes without toString `extern(C++)` classes don't have a `toString` by default and hence could not be formatted before. Treating them like structs should at least provide some meaningful output although it could miss inherited members for subclasses. https://github.com/dlang/druntime/pull/3503