~ chicken-core (master) /tests/multiple-values.scm
Trap1(import (only (scheme base) call/cc))23(define-syntax assert-fail4 (syntax-rules ()5 ((_ exp)6 (assert (handle-exceptions ex #t exp #f)))))78(define (f x) #t)910;; Relaxed cases11(assert (f (values 1 2 3)))12(assert-fail (call/cc (lambda (k) (k 1 2 3)))) ; For now it should fail, see #16011314;; Strict cases15(assert-fail (call-with-values (lambda () (values 1 2 3)) f))16(assert-fail17 (call-with-values18 (lambda () (call/cc (lambda (k) (k 1 2 3))))19 f))2021;; Sanity check for strict cases with correct argument count22(assert (call-with-values (lambda () (values 1)) f))23(assert (call-with-values (lambda () 1) f))24(assert (call-with-values (lambda () (call/cc (lambda (k) (k 1)))) f))