Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Critical
-
Resolution: Fixed
-
Affects Version/s: X10 1.7 - JVM hosted
-
Fix Version/s: X10 2.1.0, X10 SVN HEAD
-
Component/s: Language Design, Language Specification
-
Labels:None
Description
This might be a spec issue involving the rules for applying the library-specified $convert conversion from Rail[Region] to Region, or alternatively the mechanism by which [0..1,2..3] gets converted to a Region (e.g. maybe it should be hardwired, not an automatic conversion?)
// standin for Region public class R { incomplete public static def $convert(rs: ValRail[R]): R; incomplete public def $or(r:R):R; } class Bug { // standin for val r:Region = [a..b, c..d] val r:R = [new R(), new R()]; // this works as expected val w = r || r; // this works // standin for val z = r || [a..b, c..d] val x = r || [new R(), new R()]; // this doesn't work // standin for val w = [a..b, c..d] || r val y = [new R(), new R()] || r; // this doesn't work // standin for val y = [a..b, c..d] || [a..b, c..d] val z = [new R(), new R()] || [new R(), new R()]; }
The || operator must have boolean
operands, not type x10.lang.ValRail[R]{self.length==2}.
Issue Links
- is depended upon by
-
XTENLANG-962
Array library redesign
-
Affects
RegionAlgebra
RegionBoundingBox
RegionDifference