[Issue 15983] New: [REG 2.071] Symbol visibility in derived classes
via Digitalmars-d-bugs
digitalmars-d-bugs at puremagic.com
Mon May 2 02:43:40 PDT 2016
https://issues.dlang.org/show_bug.cgi?id=15983
Issue ID: 15983
Summary: [REG 2.071] Symbol visibility in derived classes
Product: D
Version: D2
Hardware: All
OS: All
Status: NEW
Severity: regression
Priority: P1
Component: dmd
Assignee: nobody at puremagic.com
Reporter: renezwanenburg at gmail.com
This is probably the same issue as 15897, only no circular imports are
involved:
---
module a;
class Base
{
private alias Something = int;
}
void foo(T : Base)(T t)
{
T.Something something;
}
---
module b;
import a;
class Derived : Base {}
void main()
{
foo(new Derived());
}
---
This fails to compile with the message
a.d(10): Error: no property 'Something' for type 'b.Derived'.
In this case the fix is easy enough: just use Base.Something in foo(). But my
actual code involves a templated base class and template mixin which make that
unfeasible.
--
More information about the Digitalmars-d-bugs
mailing list