[Issue 11915] Inconsistent overload resolution behaviour between `ref` and `out`
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Mon Jan 13 08:33:10 PST 2014
https://d.puremagic.com/issues/show_bug.cgi?id=11915
Kenji Hara <k.hara.pg at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |diagnostic
Severity|normal |minor
--- Comment #1 from Kenji Hara <k.hara.pg at gmail.com> 2014-01-13 08:33:06 PST ---
(In reply to comment #0)
> This code illustrates the inconsistency:
> ---
> void f(int) { }
> void f(ref int) { }
>
> void g(int) { }
> void g(out int) { }
>
> void main()
> {
> const int n = 1;
> f(n); // ok, selects `void f(int)`
> g(n); // Error: constant 1 is not an lvalue
> }
> ---
>
> This is either "accepts-invalid" or "rejects-valid" bug.
>
>
> The issue is segregated from Issue 11857.
This is diagnostic bug. With g(n) case, it should provide more better error
message, like:
Error: out paraemter does not match non-mutable lvalue 'n' of type 'const int'
--
Configure issuemail: https://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list