dgrnbrg/lein-guzheng

Wrong number of args (3) passed to: guzheng$instrument-eip-2

Closed this issue · 7 comments

When running lein guzheng * * -- test I get the following error:

Compilation failed: Wrong number of args (3) passed to: guzheng$instrument-eip-2

I check the code and, even if a comment says that instrument-eip-2 wants 3 arguments, the arguments are 4:

(defn- instrument-eip-2
  "Calls eval in project w/ instrumentation."
  [f project form init]
  (f project
     (instrument-form form *instrumented-nses* true)
     (instrument-init init *instrumented-nses*)))

Is anyone else experiencing this fault?

  • Which version of lein-guzheng are you running?
  • Are you passing actual namespaces, or are you passing * * (lein-guzheng currently requires you to pass namespaces explicitly)?

The reason instrument-eip-2 takes 4 arguments is that it's used with robert.hooke, which passes the original function as the first argument.

Which version of Leiningen are you using?

Thanks for your reply.

I am using:

  • Leiningen 2.0.0-preview8 on Java 1.6.0_24 OpenJDK 64-Bit Server VM
  • lein-guzheng 0.3.1
  • I try both running * and both with a package name lein guzheng * -- test

The only way to use lein-guzheng is if you invoke it as lein guzheng ns.to.instrument -- test. * does nothing.

I try also with an explicit namespace but I get the same error.

lein guzheng my.package -- test
Compilation failed: Wrong number of args (3) passed to: guzheng$instrument-eip-2

Is your project public? Does a stacktrace appear that you could post?

If not, could you make a minimal repro case, perhaps by removing most of the project so you just have the one empty namespace, and then I can play with it on my machine?

Unfortunately there was no other stack trace beside that line.

Today I will try with a different project and I will let you know.

Closed due to inactivity and lack of ability to reproduce.