I wasn't including it on the command line; I thought I didn't need to. That fixed it, thanks!
== Quote from David Nadlinger (s...@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?