clojure.core.typed.expand

Rewriting rules for custom expansions, to improve type checking
error messages and reduce local annotations.

-expand-inline

multimethod

-expand-macro

multimethod

check-expected

macro

(check-expected e opts)
Enhance checking of e with extra information.

Options:
- :default-expected (not quoted)   if no expected type is present, use this one
- :msg-fn (not quoted)             eval and use this function for error message
- :blame-form (not quoted)         use this form as a target for blame in type errors

check-if-empty-body

macro

(check-if-empty-body e opts)
If e is a non-empty do form, this check it with the given options.

Options:
- :msg-fn (not quoted)             eval and use this function for error message
- :blame-form (not quoted)         use this form as a target for blame in type errors
- :original-body (not quoted)      original list of body members

check-let-destructure

macro

(check-let-destructure {:keys [expression]})

check-let-destructure-no-op

macro

(check-let-destructure-no-op _)

custom-expansion?

(custom-expansion? vsym)

custom-inline?

(custom-inline? vsym)

expand-inline

(expand-inline form opts)

expand-macro

(expand-macro form opts)

expand-typed-fn-macro

(expand-typed-fn-macro form _)

expected-type-as

macro

(expected-type-as s body & [opts & more])

ignore-expected-if

macro

(ignore-expected-if tst body)

inline-assoc-in

(inline-assoc-in [_ m ks v :as form])(inline-assoc-in form m ks v)(inline-assoc-in form m [k & ks] v seen)

inline-get-in

(inline-get-in [_ m ks default :as form])(inline-get-in form m [k & ks])

inline-map-colls

(inline-map-colls [_ f & colls :as form] {:keys [internal-error splice-seqable-form], :as opts})

inline-map-transducer

(inline-map-transducer [_ f :as form] {:keys [internal-error]})

inline-update-in

(inline-update-in [_ m ks f & args :as form])(inline-update-in form m ks f args)

map-colls-fallthrough

(map-colls-fallthrough [_ f & colls :as form] {:keys [internal-error splice-seqable-form]})

parse-fn-sigs

(parse-fn-sigs [_ & sigs :as form])

require-expected

macro

(require-expected expr opts)

solve

macro

(solve expr opts)

type-error

macro

(type-error opts)

with-post-blame-context

macro

(with-post-blame-context e opts)