| 
									
										
										
										
											2008-08-15 00:35:19 -04:00
										 |  |  | USING: compiler.tree.builder tools.test sequences kernel | 
					
						
							| 
									
										
										
										
											2009-04-20 22:15:19 -04:00
										 |  |  | compiler.tree stack-checker stack-checker.errors ;
 | 
					
						
							| 
									
										
										
										
											2009-08-13 20:21:44 -04:00
										 |  |  | IN: compiler.tree.builder.tests | 
					
						
							| 
									
										
										
										
											2008-08-15 00:35:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : inline-recursive ( -- ) inline-recursive ; inline recursive
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-07-03 12:39:59 -04:00
										 |  |  | { t } [ \ inline-recursive build-tree [ #recursive? ] any? ] unit-test | 
					
						
							| 
									
										
										
										
											2009-04-20 22:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | : bad-recursion-1 ( a -- b )
 | 
					
						
							|  |  |  |     dup [ drop bad-recursion-1 5 ] [ ] if ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-22 00:02:00 -04:00
										 |  |  | [ \ bad-recursion-1 build-tree ] [ inference-error? ] must-fail-with | 
					
						
							| 
									
										
										
										
											2009-04-20 22:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | FORGET: bad-recursion-1 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : bad-recursion-2 ( obj -- obj )
 | 
					
						
							|  |  |  |     dup [ dup first swap second bad-recursion-2 ] [ ] if ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-22 00:02:00 -04:00
										 |  |  | [ \ bad-recursion-2 build-tree ] [ inference-error? ] must-fail-with | 
					
						
							| 
									
										
										
										
											2009-04-20 22:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | FORGET: bad-recursion-2 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | : bad-bin ( a b -- ) 5 [ 5 bad-bin bad-bin 5 ] [ 2drop ] if ;
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-04-22 00:02:00 -04:00
										 |  |  | [ \ bad-bin build-tree ] [ inference-error? ] must-fail-with | 
					
						
							| 
									
										
										
										
											2009-04-20 22:15:19 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | FORGET: bad-bin |