2013-11-06 07:47:47 -08:00
|
|
|
// Not structurally equal.
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print(Fn.new { 123 } == Fn.new { 123 }) // expect: false
|
|
|
|
|
System.print(Fn.new { 123 } != Fn.new { 123 }) // expect: true
|
2013-11-06 07:47:47 -08:00
|
|
|
|
|
|
|
|
// Not equal to other types.
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print(Fn.new { 123 } == 1) // expect: false
|
|
|
|
|
System.print(Fn.new { 123 } == false) // expect: false
|
|
|
|
|
System.print(Fn.new { 123 } == "fn 123") // expect: false
|
|
|
|
|
System.print(Fn.new { 123 } != 1) // expect: true
|
|
|
|
|
System.print(Fn.new { 123 } != false) // expect: true
|
|
|
|
|
System.print(Fn.new { 123 } != "fn 123") // expect: true
|
2013-11-06 07:47:47 -08:00
|
|
|
|
|
|
|
|
// Equal by identity.
|
2015-07-10 09:18:22 -07:00
|
|
|
var f = Fn.new { 123 }
|
2015-09-15 07:46:09 -07:00
|
|
|
System.print(f == f) // expect: true
|
|
|
|
|
System.print(f != f) // expect: false
|
2016-03-26 14:22:38 -07:00
|
|
|
|
|
|
|
|
// Closures for the same function are not equal.
|
|
|
|
|
var fns = []
|
|
|
|
|
for (i in 1..2) {
|
|
|
|
|
fns.add(Fn.new { 123 })
|
|
|
|
|
}
|
|
|
|
|
System.print(fns[0] == fns[1]) // expect: false
|