There looks to be a minor bug when resolving complex nested that rely on missing dependency resolver. It only happens when you force the container to register concrete types automatically.
Here is the test case to cause it
[Fact]
public void Scoped_Dependent_MissingType()
{
var container = new DependencyInjectionContainer();
var funcService = container.Locate<DependentService<Func<Scoped<DisposableService>>>>();
var disposed = false;
using (var scoped = funcService.Value())
{
Assert.NotNull(scoped);
Assert.NotNull(scoped.Instance);
scoped.Instance.Disposing += (sender, args) => disposed = true;
Assert.False(disposed);
}
Assert.True(disposed);
}
There looks to be a minor bug when resolving complex nested that rely on missing dependency resolver. It only happens when you force the container to register concrete types automatically.
Here is the test case to cause it