[Issue 8374] One missed array literal interpretation as int[2]

d-bugmail at puremagic.com d-bugmail at puremagic.com
Tue Nov 26 05:13:27 PST 2013


https://d.puremagic.com/issues/show_bug.cgi?id=8374



--- Comment #8 from yebblies <yebblies at gmail.com> 2013-11-27 00:13:24 EST ---
(In reply to comment #7)
> 
> The current situation is a little more subtle:
> 
> int[2] foo1() {
>     int[2] a;
>     return true ? a : [1, 2]; // OK
> }
> const(int[2]) foo2() {
>     int[2] a;
>     return true ? a : [1, 2]; // OK
> }
> const(int[2]) foo3() {
>     const int[2] a;
>     return true ? a : [1, 2]; // error
> }
> void main() {}

Ah, that bug.  I saw one recently with enum:

enum E { a }
bool b;
void main()
{
    E x = E.a;
    const E y = E.a;
    pragma(msg, typeof(b ? x : y)); // prints 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