Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.0-beta-1
-
Fix Version/s: 2.0-beta-2
-
Component/s: Static Type Checker
-
Labels:None
-
Number of attachments :
Description
The following code will pass, though the return type of x after the if/else statement may differ:
def x if (cond) { x = new Date() } else { x = 123 } x.toInteger()
In a similar manner:
def x = '123' for (int i=0; i<5;i++) { x = new HashSet() } x.toInteger()
def x = '123' while (false) { x = new HashSet() } x.toInteger()
def x = '123' def cond = false cond?(x = new HashSet()):3 x.toInteger()