Bug 232 – Invalid v-tables :(

Status
RESOLVED
Resolution
FIXED
Severity
critical
Priority
P2
Component
dmd
Product
D
Version
D1 (retired)
Platform
x86
OS
Windows
Creation time
2006-06-29T18:17:00Z
Last change time
2014-02-15T13:20:14Z
Keywords
wrong-code
Assigned to
bugzilla
Creator
h3r3tic

Comments

Comment #0 by h3r3tic — 2006-06-29T18:17:14Z
// main.d ---- private import someClass; private import std.stdio; private template OneBadMixin() { void theEvilFunction() { assert (false); } } void main() { auto x = new SomeClass; x.goodFunc(); } // ---- // someClass.d ---- private import main; template BadMixinArgh() { void goodFunc() {} } class SomeClass { mixin BadMixinArgh; mixin OneBadMixin; } // ---- sh-2.04$ dmd main.d someClass.d && ./main.exe d:\coding\dmd\bin\..\..\dm\bin\link.exe main+someClass,,,user32+kernel32/noi; Error: AssertError Failure main.d(7) This bug has existed in D for more than a year. The previous reports used class-local imports, but the issue is exactly the same with mixins. Could we finally get a fix ? :(