Summary

coops: metods returning multiple values don't work

Metadata

Attachments

Description

 (require-extension coops)
 
 (define-class <a> ())
 
 (define (foo a)
   (values 1 2))
 
 (define-method (bar (a <a>))
   (values 1 2))
 
 (define-method (baz (a <a>))
   (bar a))
 
 (receive (i j) (foo (make <a>))
 	 (print i j))
 
 (receive (i j) (bar (make <a>))
 	 (print i j))
 
 ;; Output both compiled and interpreted:
 ;; 12
 
 ;; Error: bad argument count - received 1 but expected 2: #<procedure (? i j)>

Changes and comments

[2012-06-13 18:43:44 UTC] megane attached patch867 (description=possible patch)

[2012-06-13 18:46:21 UTC] megane wrote:

That patch works on the test case, but breaks other stuff.

[2012-06-13 18:52:10 UTC] megane wrote:

Replying to megane: > That patch works on the test case, but breaks other stuff. Forget that. Seems to work.

[2012-06-14 10:11:14 UTC] felix changed status from new to assigned

[2012-06-14 10:11:14 UTC] felix set owner to felix

[2012-06-14 13:41:36 UTC] felix changed status from assigned to closed

[2012-06-14 13:41:36 UTC] felix set resolution to fixed

[2012-06-14 13:41:36 UTC] felix wrote:

Thanks very much for the patch - fixed in coops 1.9.