blob: fc2f2d22c769db92ca353115dd4cc92797933a1a [file] [log] [blame]
/* TEST_OUTPUT:
---
fail_compilation/test17451.d(22): Error: undefined identifier `allocator`
fail_compilation/test17451.d(23): Error: `long` has no effect in expression `false`
fail_compilation/test17451.d(30): Error: variable test17451.HashMap!(ThreadSlot).HashMap.__lambda2.v size of type ThreadSlot is invalid
fail_compilation/test17451.d(44): Error: template instance test17451.HashMap!(ThreadSlot) error instantiating
---
*/
// https://issues.dlang.org/show_bug.cgi?id=17451
interface ManualEvent {}
interface EventDriver {
ManualEvent createManualEvent() ;
}
struct ArraySet(Key)
{
~this()
{
try allocator;
catch false; // should never happen
}
}
struct HashMap(TValue)
{
alias Value = TValue;
static if ({ Value v; }) {}
}
struct Task {}
class Libevent2Driver : EventDriver {
Libevent2ManualEvent createManualEvent() {}
}
struct ThreadSlot {
ArraySet!Task tasks;
}
class Libevent2ManualEvent {
HashMap!ThreadSlot m_waiters;
}