Bug 10768 – DMD does not show deprecation message for missing 'override' keyword

Status
RESOLVED
Resolution
FIXED
Severity
normal
Priority
P2
Component
dmd
Product
D
Version
D2
Platform
All
OS
All
Creation time
2013-08-06T21:33:00Z
Last change time
2013-08-28T14:36:04Z
Keywords
diagnostic, pull
Assigned to
nobody
Creator
k.hara.pg

Comments

Comment #0 by k.hara.pg — 2013-08-06T21:33:32Z
This is a spin-off issue from: http://d.puremagic.com/issues/show_bug.cgi?id=10727#c3 ---- DMD does not crib about missing override for function Foo.frop. But starts doing that if "alias toArray this" in CirBuff(T) is commented out. struct CirBuff(T) { import std.traits: isArray; CirBuff!T opAssign(R)(R ) if(isArray!R) { } T[] toArray() { T[] ret; // = new T[this.length]; return ret; } alias toArray this; } class Bar (T=int){ CirBuff!T _bar; } class Once { Bar!Foo _foobar; } class Foo: Frop { // override public int frop() {return 1;} } class Frop { public int frop() {return 0;} }
Comment #1 by k.hara.pg — 2013-08-06T21:57:16Z
Comment #2 by github-bugzilla — 2013-08-28T14:34:39Z
Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/8221f864ff23aa9ff92b9edb8f73ced08cbe6506 fix Issue 10768 - DMD does not show deprecation message for missing 'override' keyword If a class/struct/template is not speculatively instantiated, error gagging should be ungagged temporarily during its semantic. Use RAII idiom to do it reliably. https://github.com/D-Programming-Language/dmd/commit/3088fa094d1d7834b5e1a9285a4b076013341150 Merge pull request #2453 from 9rnsr/fix10768 Issue 10768 - DMD does not show deprecation message for missing 'override' keyword