/* TEST_OUTPUT: --- fail_compilation/diag10415.d(36): Error: none of the overloads of `x` are callable using argument types `(int) const` fail_compilation/diag10415.d(13): Candidates are: `diag10415.C.x() const` fail_compilation/diag10415.d(18): `diag10415.C.x(int __param_0)` fail_compilation/diag10415.d(39): Error: d.x is not an lvalue --- */ class C { @property int x() const { return 0; } @property void x(int) { } } template AddProp() { @property int x() { return 1; } } template AddFunc() { void x(int, int) {} } class D { // overloadset mixin AddProp; mixin AddFunc; } void main() { const c = new C(); c.x = 1; auto d = new D(); d.x = 1; }