Public imports with D interface files?

Sean Eskapp eatingstaples at gmail.com
Sat Sep 3 18:27:42 PDT 2011


I wasn't including it on the command line; I thought I didn't need to. That fixed
it, thanks!

== Quote from David Nadlinger (see at klickverbot.at)'s article
> Are you specifying std_ext/typetuple.di or whatever it is called when
> compiling the main module? The public import probably triggers creation
> of a module constructor as it really creates aliases for the symbols
> from the imported module.
> David
> On 9/4/11 3:17 AM, Sean Eskapp wrote:
> > I'm compiling a very simple D interface file:
> >
> >      module std_ext.typetuple;
> >
> >      public import std.typetuple
> >
> >      class TypeArray(T...)
> >      {
> >      }
> >
> > Compiling it as such:
> >      dmd -debug -unittest -D -Dddocs -w -H -o- std_ext/typetuple.d
> >
> > And including it as such:
> >
> >      import std_ext.typetuple;
> >
> >      void main()
> >      {
> >          TypeArray!(int, double) blah;
> >      }
> >
> > I get a linker error "Symbol Undefined _D7std_ext9typetuple12__ModuleInfoZ"
> >
> > Removing the public import removes this error. How can I fix this?



More information about the Digitalmars-d-learn mailing list