(operands operands))
(if (not (null? parameters))
(if (null? operands)
- (for-each lvalue-unassigned! parameters)
+ (for-each lvalue-defaulted! parameters)
(begin
(lvalue-connect! (car parameters) (car operands))
(loop (cdr parameters) (cdr operands)))))))
(eq-set-union* (lvalue-initial-values (car lvalues))
(map lvalue-initial-values (cdr lvalues)))))
-(define (lvalue-unassigned! lvalue)
- (lvalue-connect! lvalue (make-constant (make-unassigned-reference-trap))))
+(define (lvalue-defaulted! lvalue)
+ (lvalue-connect! lvalue (make-constant (default-object))))
(define-integrable (lvalue-connect! lvalue rvalue)
(if (rvalue/reference? rvalue)
(define (local #!optional arg)
(assert-eqv (fixit arg) #!default))
(local))
- ;; Compiler incorrectly passes unassigned reference trap if
- ;; argument is never passed.
- (if (compiled-procedure? test)
- (expect-failure test)
- (test))))
+ (test)))