{"action":"opened","issue":{"url":"https://api.github.com/repos/jonase/eastwood/issues/173","labels_url":"https://api.github.com/repos/jonase/eastwood/issues/173/labels{/name}","comments_url":"https://api.github.com/repos/jonase/eastwood/issues/173/comments","events_url":"https://api.github.com/repos/jonase/eastwood/issues/173/events","html_url":"https://github.com/jonase/eastwood/issues/173","id":116774273,"number":173,"title":":unused-ret-vals-in-try stack traces (and it should not)","user":{"login":"philip-doctor","id":6741837,"avatar_url":"https://avatars.githubusercontent.com/u/6741837?v=3","gravatar_id":"","url":"https://api.github.com/users/philip-doctor","html_url":"https://github.com/philip-doctor","followers_url":"https://api.github.com/users/philip-doctor/followers","following_url":"https://api.github.com/users/philip-doctor/following{/other_user}","gists_url":"https://api.github.com/users/philip-doctor/gists{/gist_id}","starred_url":"https://api.github.com/users/philip-doctor/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/philip-doctor/subscriptions","organizations_url":"https://api.github.com/users/philip-doctor/orgs","repos_url":"https://api.github.com/users/philip-doctor/repos","events_url":"https://api.github.com/users/philip-doctor/events{/privacy}","received_events_url":"https://api.github.com/users/philip-doctor/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-11-13T14:07:00Z","updated_at":"2015-11-13T14:07:00Z","closed_at":null,"body":"Here's the form in question:\r\n\r\n````\r\n(defn reconnecting-write\r\n  [connect-fn prefix ^PrintWriter out rollup]\r\n  (try\r\n    (let [socket (if (and out (not (.checkError out)))\r\n                   out\r\n                   (do (IOUtils/closeQuietly out)\r\n                       (connect-fn)))]\r\n      (output prefix socket rollup (long (util/current-time))))\r\n    (catch Exception e\r\n      (IOUtils/closeQuietly out))))\r\n\r\n````\r\n\r\nI get a stack trace, not a linter warning\r\n````\r\n== Eastwood 0.2.1 Clojure 1.5.1 JVM 1.7.0_51\r\n== Linting opsagent.metrics.graphite-reporter ==\r\nException thrown by linter :unused-ret-vals-in-try on namespace opsagent.metrics.graphite-reporter\r\nClassCastException clojure.lang.PersistentArrayMap cannot be cast to java.lang.reflect.Method\r\n\teastwood.passes/void-method? (passes.clj:66)\r\n\teastwood.linters.unused/unused-ret-val-lint-result (unused.clj:390)\r\n\teastwood.linters.unused/unused-ret-vals-2/iter--5441--5445/fn--5446/fn--5447 (unused.clj:519)\r\n\teastwood.linters.unused/unused-ret-vals-2/iter--5441--5445/fn--5446 (unused.clj:481)\r\n\tclojure.lang.LazySeq.sval (LazySeq.java:42)\r\n\tclojure.lang.LazySeq.seq (LazySeq.java:60)\r\n\tclojure.lang.RT.seq (RT.java:484)\r\n\tclojure.core/seq (core.clj:133)\r\n\tclojure.core/filter/fn--4226 (core.clj:2523)\r\n\tclojure.lang.LazySeq.sval (LazySeq.java:42)\r\n\tclojure.lang.LazySeq.seq (LazySeq.java:67)\r\n\tclojure.lang.RT.seq (RT.java:484)\r\n\tclojure.core/seq (core.clj:133)\r\n\teastwood.linters.unused/unused-ret-vals*/iter--5488--5492/fn--5493 (unused.clj:539)\r\n\tclojure.lang.LazySeq.sval (LazySeq.java:42)\r\n\tclojure.lang.LazySeq.seq (LazySeq.java:60)\r\n\tclojure.lang.RT.seq (RT.java:484)\r\n\tclojure.core/seq (core.clj:133)\r\n\tclojure.core/dorun (core.clj:2780)\r\n\tclojure.core/doall (core.clj:2796)\r\n\teastwood.lint/lint-analyze-results (lint.clj:291)\r\n\teastwood.lint/lint-ns (lint.clj:574)\r\n\teastwood.lint/eastwood-core/fn--6329 (lint.clj:1041)\r\n\teastwood.lint/eastwood-core (lint.clj:1040)\r\n\teastwood.lint/eastwood (lint.clj:1154)\r\n\teastwood.lint/eastwood-from-cmdline (lint.clj:1167)\r\n\tclojure.lang.Var.invoke (Var.java:415)\r\n\teastwood.versioncheck/run-eastwood (versioncheck.clj:15)\r\n\tuser/eval19 (form-init7437003406976767418.clj:1)\r\n\tclojure.lang.Compiler.eval (Compiler.java:6619)\r\n\tclojure.lang.Compiler.eval (Compiler.java:6609)\r\n\tclojure.lang.Compiler.load (Compiler.java:7064)\r\n\tclojure.lang.Compiler.loadFile (Compiler.java:7020)\r\n\tclojure.main/load-script (main.clj:294)\r\n\tclojure.main/init-opt (main.clj:299)\r\n\tclojure.main/initialize (main.clj:327)\r\n\tclojure.main/null-opt (main.clj:362)\r\n\tclojure.main/main (main.clj:440)\r\n\tclojure.lang.Var.invoke (Var.java:419)\r\n\tclojure.lang.Var.applyTo (Var.java:532)\r\n\tclojure.main.main (main.java:37)\r\n== Warnings: 0 (not including reflection warnings)  Exceptions thrown: 1\r\n````\r\n\r\nit seems to be specifically dying on this\r\n\r\n````\r\n(do (IOUtils/closeQuietly out)\r\n                       (connect-fn))\r\n````\r\n\r\nI don't think it should be erroring due to the having to side effect and ignore a nil return in the do, but if this really is a violation, it should be giving me a warning not a stack trace."}}