The following code will cause the compiler to crash: import std.traits; interface Identity(V, K) if (hasMember!(V, "k")) { } class Foo(K): Identity!(Foo!K, K) { K k; } void main() { new Foo!double; } This occurs on both compiler versions, 2.062 and v2.063-devel-53aa503. I should also add that many of the "functions" in std.traits will cause the compiler to crash when used to constrain an interface in this manner.
according to run.dalng.io this is fixed since v2.067.1.