I don't know how to file bug reports but I'm sure this shouldn't happen :)
DMD gives an error.

import std.stdio;

void main()
{
        immutable Cat cat = cast(immutable) new Cat(5);
        happyBirthday(cat.age);
        writefln("My 5 year old cat is %s years old!", cat.age);
}

void happyBirthday(ref int i)
{
        i++;
}

class Cat
{
        public int age;

        this(int a)
        {
                this.age = age;
        }
}


Output:
My 5 year old cat is 6 years old!

Reply via email to