Int behavior change in Unity 3?

I upgraded to Unity 3 and this statement no longer works:

    public function engaged(type:int):boolean {
        return (current  type > 0) ? true : false;
    }

The function always returns false even if current type evaluates to greater than 0:

    private function engage(type:int) {
        Debug.Log(type+" :: "+(current  type)+" :: "+engaged(type));
        current |= type;
        Debug.Log(type+" :: "+(current  type)+" :: "+engaged(type));
    }

The above outputs:
4 :: 0 :: False
4 :: 4 :: False

public function engaged(type:int):boolean {
        return current  type > 0;
}

It is enough.

Edit : Try instead, if you really want to : (current type > 0 ? true : false);

the problem here is likely the operator precedence.
mono 1.2.5 as in the old unity was a bit flawed.

whats the exact thing you want to group? current type? if so just encapsulate them like (current type) > 0

Ah! Encapsulating it makes a lot of sense and indeed works. Cheers!

glad it helped