Hello everyone,
I just stumbled across something.
When I try to query a Long-variable/value whether it is an instance of
Arithmetic[Long] or not, the call returns a "false", but it should
return "true", if I am not mistaken.
With self-written interfaces or self-written classes implementing the
Interface Arithmetic[T] the call returns "true".
The same behaviour occurs for the Interfaces Bitwise[T] and Ordered[T]
Comparable[T] seems to work fine (for me).
A minimum working example is attached.
I tested this with Native X10 only.
I am using revision 27689 from the svn-repository
(https://svn.code.sourceforge.net/p/x10/code/trunk), as well as gcc-4.8.2.
Do I have a misconception about "instanceof" in X10 or is this a bug?
Cheers and thanks in advance for any help,
Marco Bungart
public class InstanceOf{
public static def main(args:Rail[String]) {
ex:Ex[Long] = new Ex[Long](10);
// returning "true":
Console.OUT.println(ex instanceof IEx[Long]);
var ex2:Ex2 = new Ex2(10);
// returning "true":
Console.OUT.println(ex2 instanceof Arithmetic[Ex2]);
var ex3:Long = 10n;
// returning "false":
Console.OUT.println(ex3 instanceof Arithmetic[Long]);
// returning "false":
Console.OUT.println(ex3 instanceof Bitwise[Long]);
// returning "false":
Console.OUT.println(ex3 instanceof x10.util.Ordered[Long]);
// returning "true":
Console.OUT.println(ex3 instanceof Comparable[Long]);
}
}
class Ex[T] implements IEx[T] {
public val t:T;
public def this(t:T) { this.t = t; }
public def getT() = t;
}
interface IEx[T]{
public def getT():T;
}
class Ex2 implements Arithmetic[Ex2] {
public val value:Long;
public def this(value:Long) {
this.value = value;
}
public operator this + (that:Ex2) = new Ex2(this.value + that.value);
public operator +this = new Ex2(this.value);
public operator this - (that:Ex2) = new Ex2(this.value - that.value);
public operator -this = new Ex2(-this.value);
public operator this * (that:Ex2) = new Ex2(this.value * that.value);
public operator this / (that:Ex2) = new Ex2(this.value / that.value);
}------------------------------------------------------------------------------
"Accelerate Dev Cycles with Automated Cross-Browser Testing - For FREE
Instantly run your Selenium tests across 300+ browser/OS combos.
Get unparalleled scalability from the best Selenium testing platform available
Simple to use. Nothing to install. Get started now for free."
http://p.sf.net/sfu/SauceLabs
_______________________________________________
X10-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/x10-users