declare after def should have no effect

Description

Currently using declare after def will override all the analyzer data of the def with the basically empty data of the declare

The effect is that the compiler will no longer emit the optimized invoke for foo

So instead of the desired

we end up with

Note that this always takes the "slow" path via .call since test.declare_after_def.foo.cljs$core$IFn$_invoke$arity$5 does not exist.

Environment

None

Assignee

David Nolen

Reporter

Thomas Heller

Labels

None

Approval

None

Patch

None

Fix versions

Affects versions

Priority

Minor
Configure