X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Floop.lisp;h=969475a1defd08826f197a3e3b971fb4758643cf;hb=7717fef2d28f273185838304a20bafe660a1fde2;hp=1af7d78ec23845279e74d15b79c932bc560bd6f0;hpb=56ea5e2724c898e2507b1347306a725705fa386b;p=sbcl.git diff --git a/src/code/loop.lisp b/src/code/loop.lisp index 1af7d78..969475a 100644 --- a/src/code/loop.lisp +++ b/src/code/loop.lisp @@ -1161,7 +1161,6 @@ code to be loaded. (defun loop-get-collection-info (collector class default-type) (let ((form (loop-get-form)) - (dtype (or (loop-optional-type) default-type)) (name (when (loop-tequal (car *loop-source-code*) 'into) (loop-pop-source) (loop-pop-source)))) @@ -1169,7 +1168,8 @@ code to be loaded. (loop-error "The value accumulation recipient name, ~S, is not a symbol." name)) (unless name (loop-disallow-aggregate-booleans)) - (let ((cruft (find (the symbol name) *loop-collection-cruft* + (let ((dtype (or (loop-optional-type) default-type)) + (cruft (find (the symbol name) *loop-collection-cruft* :key #'loop-collector-name))) (cond ((not cruft) (when (and name (loop-var-p name))