// REQUIRED_ARGS: -unittest -main -O // https://issues.dlang.org/show_bug.cgi?id=15568 auto filter(alias pred)(D[]) { struct FilterResult { void popFront() { pred(null); } D[] array() { return null; } } return FilterResult(); } class A { B foo(C c, D[] ds, bool f) in { assert(c !is null); } do { D[] ds2 = ds.filter!(a => c).array; return new B(ds2, f); } } class B { this(D[], bool) { } } class C { } struct D { } unittest { auto a = new A; C c = new C; a.foo(c, null, false); }