Bug 17686 – [REG2.075.0] Covariant return types doesn't work with override in some cases

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2017-07-25T16:04:15Z
Last change time
2019-06-16T20:57:32Z
Assigned to
No Owner
Creator
Daniel Kozak

Comments

Comment #0 by kozzi11 — 2017-07-25T16:04:15Z
This works before dmd 2.075 https://run.dlang.io/is/0hoAtP this affect std_experimental_xml dub package
Comment #1 by greeenify — 2017-07-25T16:47:54Z
To be exact it worked from 2.066 to 2.074.1: https://run.dlang.io/is/x0bYkS
Comment #2 by kozzi11 — 2017-07-26T09:41:28Z
Comment #3 by dlang-bugzilla — 2017-07-26T10:33:26Z
Please include the entire test case in the bug report itself. Here it is: interface INode { @property INode parentNode(); @property IDocument ownerDocument(); } interface IDocument: INode {} interface IEntityReference: INode {} class DOMImplementation(T) { abstract class Node: INode { override { @property Node parentNode() { return null; } @property Document ownerDocument() { return null; } } @property bool readonly() { return true; } } abstract class NodeWithChildren: Node {} class Document: NodeWithChildren, IDocument {} class EntityReference: NodeWithChildren, IEntityReference { override { @property bool readonly() { return true; } } } } void main() { alias aaa = DOMImplementation!string; }
Comment #4 by github-bugzilla — 2017-07-27T12:22:10Z
Commits pushed to stable at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/1fb7bd7fd889941c818cba6b1eb277e90e61dc9c Fix issue 17686: [REG2.075.0] Covariant return types doesn't work with override in some cases https://github.com/dlang/dmd/commit/413466c796851fae4fb147bb7b3c9bd5da13355b Merge pull request #7033 from Kozzi11/Issue17686 Fix: [REG2.075.0] Covariant return types doesn't work with override i… merged-on-behalf-of: Martin Nowak <[email protected]>
Comment #5 by github-bugzilla — 2017-08-01T16:05:12Z
Commits pushed to master at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/1fb7bd7fd889941c818cba6b1eb277e90e61dc9c Fix issue 17686: [REG2.075.0] Covariant return types doesn't work with override in some cases https://github.com/dlang/dmd/commit/413466c796851fae4fb147bb7b3c9bd5da13355b Merge pull request #7033 from Kozzi11/Issue17686
Comment #6 by github-bugzilla — 2017-08-07T13:17:39Z
Commits pushed to newCTFE at https://github.com/dlang/dmd https://github.com/dlang/dmd/commit/1fb7bd7fd889941c818cba6b1eb277e90e61dc9c Fix issue 17686: [REG2.075.0] Covariant return types doesn't work with override in some cases https://github.com/dlang/dmd/commit/413466c796851fae4fb147bb7b3c9bd5da13355b Merge pull request #7033 from Kozzi11/Issue17686
Comment #7 by dlang-bot — 2019-06-16T20:57:32Z
dlang/dmd pull request #10046 "[dmd-cxx] Backport semanticRun refactoring and recursive semantic SEGV bug fixes" was merged into dmd-cxx: - 5f543c2e603f034bffc07af0f053c996dbcf9d92 by Daniel Kozak: Fix issue 17686: [REG2.075.0] Covariant return types doesn't work with override in some cases https://github.com/dlang/dmd/pull/10046