Calling instrumented var fails to check conformance

Description

If you spec a fn var and then instrument and call it, an args conformance check is made. If instead you call the var using the actual var in operator position, it will fail to make the conformance check. The same will occur with a HOF, as in applying the fn to an args sequence. These last two variants work in Clojure.

Repro:

Environment

None

Activity

Show:
David Nolen
December 22, 2017, 6:05 PM

This is a variant of direct invoke getting in the way of instrumentation, see CLJS-2397. This is because Var uses direct invokes in its IFn implementations.

Mike Fikes
July 9, 2017, 2:04 PM

It is worth noting that the second variant, (#'symbol 3) works in Planck (but not the third) (apply symbol [3]).

Completed

Assignee

David Nolen

Reporter

Mike Fikes

Labels