https://issues.dlang.org/show_bug.cgi?id=23626

--- Comment #5 from Iain Buclaw <ibuc...@gdcproject.org> ---
Still 3 files, but one possible reduction.

space_reclaimer.d
```
void __trace_maybeDumpTupleToFile(Args)(ref const Args ) { }

auto as(Func)(Func) {}

@nogc void foo() { }

void assertOp(LHS)(LHS lhs) {
  as({
    try {
      try as(lhs);
      catch(Throwable) foo;
    } catch(Throwable) assert(false);
  });
}

struct FixedArray(T) {
  int a = !FixedArray;

  T* some_function() {
    assertOp(1);
    return null;
  }
  alias some_function this;
}

struct ReclamationBatch {

  FixedArray!(uint) dummy;

  @nogc nothrow void some_inout_func() { }

  void func_2(Dlg)(Dlg dlg) {
    __trace_maybeDumpTupleToFile(dlg);
  }

  void _reclaimBatch() {
    func_2({ some_inout_func; });
  }
}
```

tiering_policies.d
```
interface Timeline { }

struct Policy {
  alias OldTagCallback = void delegate() @nogc nothrow;
  Timeline timeline;
  OldTagCallback oldTagCB;
}

import static_hash;

struct Tiering {
    StaticHashTable!(Policy) policies;
}
```

static_hash.d
```
struct StaticHashTable(V) {
    V v;
}
```

------------------------------------
Bonus source file, a minimal object.d to also rule out druntime.
```
module object;

alias size_t = ulong;

class Object { }

class TypeInfo
{
    size_t getHash(const void* ) nothrow { }
}

class TypeInfo_Const : TypeInfo { }
class Throwable { }
bool _xopEquals() { }
```

--

Reply via email to