diff --git a/core/inference/class/class-tests.factor b/core/inference/class/class-tests.factor index 691010e9ca..10eae1eb99 100755 --- a/core/inference/class/class-tests.factor +++ b/core/inference/class/class-tests.factor @@ -288,3 +288,10 @@ cell-bits 32 = [ [ HEX: ff bitand 0 HEX: ff between? ] \ >= inlined? ] unit-test + +[ t ] [ + [ HEX: ff swap HEX: ff bitand >= ] + \ >= inlined? +] unit-test + + diff --git a/core/optimizer/math/math.factor b/core/optimizer/math/math.factor index 6f535ec8e6..b7c82e402a 100755 --- a/core/optimizer/math/math.factor +++ b/core/optimizer/math/math.factor @@ -379,7 +379,7 @@ most-negative-fixnum most-positive-fixnum [a,b] >r dup dup node-in-d first node-interval swap dup node-in-d second node-literal r> execute ; inline -: foldable-comparison? ( #call word -- ) +: foldable-comparison? ( #call word -- ? ) >r dup known-comparison? [ r> perform-comparison incomparable eq? not ] [ diff --git a/extra/locals/locals-tests.factor b/extra/locals/locals-tests.factor index 85984ffaee..aa724c4aca 100644 --- a/extra/locals/locals-tests.factor +++ b/extra/locals/locals-tests.factor @@ -122,3 +122,7 @@ SYMBOL: a USE: kernel ; [ t ] [ a symbol? ] unit-test + +:: let-let-test | n | [let | n [ n 3 + ] | n ] ; + +[ 13 ] [ 10 let-let-test ] unit-test