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: nob...@puremagic.com
          Reporter: greensunn...@gmail.com

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.

--

Reply via email to