https://issues.dlang.org/show_bug.cgi?id=21298
Iain Buclaw changed:
What|Removed |Added
Priority|P1 |P3
--
https://issues.dlang.org/show_bug.cgi?id=21298
anonymous4 changed:
What|Removed |Added
See Also||https://issues.dlang.org/sh
|
https://issues.dlang.org/show_bug.cgi?id=21298
--- Comment #5 from anonymous4 ---
The error is that the contract of the subtype is stricter than the contract of
the supertype.
--
https://issues.dlang.org/show_bug.cgi?id=21298
--- Comment #4 from Walter Bright ---
I'm not convinced this should be an error. An interface doesn't implement a
function. The class providing the function isn't overriding the interface, it
is implementing it.
--
---
@WalterBright created dlang/dmd pull request #12013 "fix Issue 21298 - Missing
error when overriding interface method with…" fixing this issue:
- fix Issue 21298 - Missing error when overriding interface method without in
contract with class method with contract
https://github.com/dlang/dmd/pull/12013
--
https://issues.dlang.org/show_bug.cgi?id=21298
--- Comment #2 from Walter Bright ---
Changing I to a class still does not cause the error. A function body has to be
provided to I.foo() to trigger the error.
--
https://issues.dlang.org/show_bug.cgi?id=21298
--- Comment #1 from Mario Kroeplin ---
Worse: no semantic analysis is done for the in condition of the override:
class C : I
{
override void foo(int i) in (something, stupid) { }
}
--
https://issues.dlang.org/show_bug.cgi?id=21298
John Colvin changed:
What|Removed |Added
Keywords||industry
CC|
https://issues.dlang.org/show_bug.cgi?id=21298
Walter Bright changed:
What|Removed |Added
CC||bugzi...@digitalmars.com
--