Function: majutsu-template--specialize-method-arg-type
majutsu-template--specialize-method-arg-type is a natively compiled
function defined in majutsu-template.el.
Signature
(majutsu-template--specialize-method-arg-type RECEIVER-TYPE ARG-SPEC)
Documentation
Return expected argument type for ARG-SPEC specialized to RECEIVER-TYPE.
Source Code
;; Defined in /nix/store/jagqw3nms546pad0gxi5f3wsckk6pji7-emacs-packages-deps/share/emacs/site-lisp/majutsu-template.el
(defun majutsu-template--specialize-method-arg-type (receiver-type arg-spec)
"Return expected argument type for ARG-SPEC specialized to RECEIVER-TYPE."
(let ((arg-type (majutsu-template--arg-type arg-spec)))
(pcase (and arg-spec (majutsu-template--arg-specialize arg-spec))
(:element-lambda
(if-let* ((element-type (majutsu-template--type-ref-element-type receiver-type))
(lambda-args (majutsu-template--type-ref-lambda-arg-types arg-type)))
(list :lambda
(cons element-type (cdr lambda-args))
(or (majutsu-template--type-ref-lambda-return-type arg-type)
'Unknown))
arg-type))
(_ arg-type))))