https://issues.dlang.org/show_bug.cgi?id=18414
Issue ID: 18414
Summary: More lazy symbol resolvement
Product: D
Version: D2
Hardware: x86_64
OS: Linux
Status: NEW
Severity: enhancement
Priority: P1
Component: dmd
Assignee: [email protected]
Reporter: [email protected]
tl;dr: imports could reduce a lot of their overhead if the compiler would
resolve symbols only when required.
foo.d
---
struct Foo
{
import mybigfilewithlotsofctfe;
}
struct Bar;
---
test.d
----
void main()
{
import foo;
Bar b;
}
---
Ideally the compiler wouldn't even look at Foo and thus not open
`mybigfilewithlotsofctfe`.
Note that this is already done if `struct Foo` is a template.
--