I wasn't 100% sure the following is a bug, so I figured I'd ask. struct Fail { void opDispatch(string s)() { static assert(false, "Tried to call a method on Fail"); } } void main() { auto fail = Fail(); fail.s(); //Error: no property 's' for type 'Fail' }