[Issue 24878] New: Forward referencing issue
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Nov 25 06:11:36 UTC 2024
https://issues.dlang.org/show_bug.cgi?id=24878
Issue ID: 24878
Summary: Forward referencing issue
Product: D
Version: D2
Hardware: All
URL: http://dlang.org/
OS: All
Status: NEW
Severity: normal
Priority: P3
Component: dmd
Assignee: nobody at puremagic.com
Reporter: turkeyman at gmail.com
struct Container(T)
{
// T.sizeof/alignof causes circular reference!
enum AllocAlignment = T.sizeof;
T* ptr;
}
struct Test
{
Container!Test test;
}
error : struct `main.Test` no size because of forward reference
error : template instance `main.Container!(Test)` error instantiating
Checking T.sizeof causes a forward referencing error; but it doesn't need to
evaluate that enum to determine the size of `Container!T` which has a know-able
size with no T knowledge... evaluation should be deferred.
--
More information about the Digitalmars-d-bugs
mailing list