Precompiling the following code:
(define-class <foo> () ())
(define (foo x)
(assume-type x (<?> <foo>))
x)
raises an error:
*** ERROR: Can't use non-inlinable global variable `#<identifier #f#<foo>.e3ed6980>' in type constructor expression: (<?> <foo>)
However, if (define-class ...) is in a separate compilation unit, it works.
define-class creates an inlinable global binding. It can be that inlinability isn't handled correctly if the binding is in the transient module during compilation.
Precompiling the following code:
raises an error:
However, if
(define-class ...)is in a separate compilation unit, it works.define-classcreates an inlinable global binding. It can be that inlinability isn't handled correctly if the binding is in the transient module during compilation.