typed: forgetting a final class would throw an error while recompiling typed words depending on it
parent
274a6ec5ce
commit
16ddd015d3
|
@ -141,7 +141,7 @@ TUPLE: depends-on-final class ;
|
|||
[ \ depends-on-final add-conditional-dependency ] bi ;
|
||||
|
||||
M: depends-on-final satisfied?
|
||||
class>> final-class? ;
|
||||
class>> { [ class? ] [ final-class? ] } 1&& ;
|
||||
|
||||
: init-dependencies ( -- )
|
||||
H{ } clone dependencies set
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
USING: accessors effects eval kernel layouts math namespaces
|
||||
quotations tools.test typed words words.symbol
|
||||
compiler.tree.debugger prettyprint ;
|
||||
compiler.tree.debugger prettyprint definitions compiler.units ;
|
||||
IN: typed.tests
|
||||
|
||||
TYPED: f+ ( a: float b: float -- c: float )
|
||||
|
@ -149,3 +149,12 @@ SYMBOL: a-symbol
|
|||
a-symbol get
|
||||
] with-variable
|
||||
] unit-test
|
||||
|
||||
! Forgetting an unboxed final class should work
|
||||
TUPLE: forget-class { x read-only } ; final
|
||||
|
||||
TYPED: forget-fail ( a: forget-class -- ) drop ;
|
||||
|
||||
[ ] [ [ \ forget-class forget ] with-compilation-unit ] unit-test
|
||||
|
||||
[ ] [ [ \ forget-fail forget ] with-compilation-unit ] unit-test
|
||||
|
|
Loading…
Reference in New Issue