interface I { /* ... */ }
// Hidden, in another module: class C : I { ... }
I makeC(); // Implementation is in another module
void main() {
auto container = new shared DependencyContainer;
container.register!I.initializedBy(() => makeC());
}
.../poodinis/source/poodinis/container.d(174,39): Error: cannot implicitly convert expression `typeid(I)` of type `object.TypeInfo_Interface` to `object.TypeInfo_Class`
.../poodinis/source/poodinis/container.d(187,36): Error: template instance `AutowiredRegistration!(I)` does not match template declaration `AutowiredRegistration(RegistrationType : Object)`
.../poodinis/source/poodinis/container.d(150,53): Error: template instance `poodinis.container.DependencyContainer.register!(I, I)` error instantiating
Compilation fails: