1 IN: compiler.tree.builder.tests
2 USING: compiler.tree.builder tools.test sequences kernel
3 compiler.tree stack-checker stack-checker.errors ;
5 : inline-recursive ( -- ) inline-recursive ; inline recursive
7 [ t ] [ \ inline-recursive build-tree [ #recursive? ] any? ] unit-test
9 : bad-recursion-1 ( a -- b )
10 dup [ drop bad-recursion-1 5 ] [ ] if ;
12 [ \ bad-recursion-1 build-tree ] [ inference-error? ] must-fail-with
14 FORGET: bad-recursion-1
16 : bad-recursion-2 ( obj -- obj )
17 dup [ dup first swap second bad-recursion-2 ] [ ] if ;
19 [ \ bad-recursion-2 build-tree ] [ inference-error? ] must-fail-with
21 FORGET: bad-recursion-2
23 : bad-bin ( a b -- ) 5 [ 5 bad-bin bad-bin 5 ] [ 2drop ] if ;
25 [ \ bad-bin build-tree ] [ inference-error? ] must-fail-with