www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.bugs - [Issue 18414] New: More lazy symbol resolvement

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: nobody puremagic.com
          Reporter: greensunny12 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.

--
Feb 09 2018