28 lines
774 B
Factor
28 lines
774 B
Factor
USING: compiler.tree.builder tools.test sequences kernel
|
|
compiler.tree stack-checker stack-checker.errors ;
|
|
IN: compiler.tree.builder.tests
|
|
|
|
: inline-recursive ( -- ) inline-recursive ; inline recursive
|
|
|
|
[ t ] [ \ inline-recursive build-tree [ #recursive? ] any? ] unit-test
|
|
|
|
: bad-recursion-1 ( a -- b )
|
|
dup [ drop bad-recursion-1 5 ] [ ] if ;
|
|
|
|
[ \ bad-recursion-1 build-tree ] [ inference-error? ] must-fail-with
|
|
|
|
FORGET: bad-recursion-1
|
|
|
|
: bad-recursion-2 ( obj -- obj )
|
|
dup [ dup first swap second bad-recursion-2 ] [ ] if ;
|
|
|
|
[ \ bad-recursion-2 build-tree ] [ inference-error? ] must-fail-with
|
|
|
|
FORGET: bad-recursion-2
|
|
|
|
: bad-bin ( a b -- ) 5 [ 5 bad-bin bad-bin 5 ] [ 2drop ] if ;
|
|
|
|
[ \ bad-bin build-tree ] [ inference-error? ] must-fail-with
|
|
|
|
FORGET: bad-bin
|