summaryrefslogtreecommitdiff
path: root/Lisp/method-invocation.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'Lisp/method-invocation.lisp')
-rw-r--r--Lisp/method-invocation.lisp6
1 files changed, 5 insertions, 1 deletions
diff --git a/Lisp/method-invocation.lisp b/Lisp/method-invocation.lisp
index 0227db0..c16e20d 100644
--- a/Lisp/method-invocation.lisp
+++ b/Lisp/method-invocation.lisp
@@ -460,13 +460,17 @@ easier to use with __apply__.
return-c-type)
receiver
selector))
- ((struct union array)
+ ((struct union)
;; The caller is responsible for preventing the return
;; value from being garbage-collected by setting
;; FOREIGN-VALUE-LISP-MANAGED-P to false.
(make-struct-wrapper objc-struct-return-value-cell
return-type
t))
+ ((array)
+ (error "Method ~A of object ~A tried to return an array. ~
+ It must be mistaken."
+ selector receiver))
((:void) (values))
(otherwise (cffi:mem-ref objc-return-value-cell
return-c-type))))))))