blob: bc0ee9d2fb7015ce269cc9c828ad62ce418cec9e [file] [log] [blame]
/*
TEST_OUTPUT:
---
fail_compilation/diag8101b.d(28): Error: none of the overloads of `foo` are callable using argument types `(double)`
fail_compilation/diag8101b.d(19): Candidates are: `diag8101b.S.foo(int _param_0)`
fail_compilation/diag8101b.d(20): `diag8101b.S.foo(int _param_0, int _param_1)`
fail_compilation/diag8101b.d(30): Error: function `diag8101b.S.bar(int _param_0)` is not callable using argument types `(double)`
fail_compilation/diag8101b.d(30): cannot pass argument `1.0` of type `double` to parameter `int _param_0`
fail_compilation/diag8101b.d(33): Error: none of the overloads of `foo` are callable using a `const` object
fail_compilation/diag8101b.d(19): Candidates are: `diag8101b.S.foo(int _param_0)`
fail_compilation/diag8101b.d(20): `diag8101b.S.foo(int _param_0, int _param_1)`
fail_compilation/diag8101b.d(35): Error: mutable method `diag8101b.S.bar` is not callable using a `const` object
fail_compilation/diag8101b.d(22): Consider adding `const` or `inout` here
---
*/
struct S
{
void foo(int) { }
void foo(int, int) { }
void bar(int) { }
}
void main()
{
S s;
s.foo(1.0);
s.bar(1.0);
const(S) cs;
cs.foo(1);
cs.bar(1);
}