Bug 11624 – __trait(compiles) does not detect unimplemented interface
Status
RESOLVED
Resolution
WORKSFORME
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-11-27T15:07:34Z
Last change time
2020-07-04T19:22:11Z
Keywords
accepts-invalid, pull
Assigned to
No Owner
Creator
Luís Marques
Comments
Comment #0 by luis — 2013-11-27T15:07:34Z
This does not compile, of course:
interface I
{
void foo();
}
static class C : I { }
Yet this static assert succeeds:
interface I
{
void foo();
}
static assert(__traits(compiles,
{
static class C : I { }
}));
Comment #1 by dlang-bot — 2020-07-04T17:49:48Z
@NilsLankila created dlang/dmd pull request #11372 "fix issue 11624 - __trait(compiles) does not detect unimplemented int…" fixing this issue:
- fix issue 11624 - __trait(compiles) does not detect unimplemented interface
this is just a regression test as the fix was recently brought by #11191
https://github.com/dlang/dmd/pull/11372
Comment #2 by moonlightsentinel — 2020-07-04T18:59:27Z
dlang/dmd pull request #11372 "fix issue 11624 - __trait(compiles) does not detect unimplemented int…" was merged into master:
- 400909b6015f987e5b66ac3082095add29fcf893 by Nils Lankila:
Add test for issue 11624 - __trait(compiles) does not detect unimplemented interface
this is just a regression test as the fix was recently brought by #11191.
Mr dbot close issue 11624.
https://github.com/dlang/dmd/pull/11372