// https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100882
// { dg-do compile }
struct AllocatorList(Factory)
{
    Factory factory;
    auto make(size_t n) { return factory(n); }
    this(Factory plant)
    {
        factory = plant;
    }
}
struct Region
{
    ~this()
    {
    }
}
auto mmapRegionList()
{
    struct Factory
    {
        this(size_t )
        {
        }
        auto opCall(size_t )
        {
            return Region();
        }
    }
    auto shop = Factory();
    AllocatorList!Factory(shop);
}