This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2021-02-10
Channels
- # asami (2)
- # babashka (28)
- # beginners (91)
- # calva (38)
- # cider (7)
- # clj-kondo (20)
- # cljfx (3)
- # clojure (88)
- # clojure-austin (1)
- # clojure-australia (2)
- # clojure-bay-area (10)
- # clojure-europe (68)
- # clojure-france (8)
- # clojure-italy (14)
- # clojure-nl (4)
- # clojure-sanfrancisco (1)
- # clojure-uk (14)
- # clojurescript (37)
- # clojureverse-ops (14)
- # clojurewerkz (1)
- # clr (1)
- # conjure (13)
- # cursive (10)
- # datascript (30)
- # datomic (6)
- # emacs (13)
- # exercism (3)
- # fulcro (10)
- # graalvm (4)
- # graphql (2)
- # instaparse (5)
- # jobs (3)
- # kaocha (10)
- # off-topic (20)
- # pathom (17)
- # polylith (7)
- # re-frame (25)
- # remote-jobs (1)
- # shadow-cljs (60)
- # spacemacs (5)
- # specter (1)
- # startup-in-a-month (1)
- # tools-deps (48)
- # vim (4)
- # xtdb (11)
ok, thanks, will have a better look then before then, Thaanks for pointing me to the plugins!
Hi there! My codebase has good a lot of Reflection Warnings that I would like to intercept and fail in CI. Is there some facility I can use with kaocha in order to achieve that?
(is it a worthy idea anyways?
Not Kaocha specific, but it looks like the Clojure source has a non-exported macro that does this: https://github.com/clojure/clojure/blob/cbb3fdf787a00d3c1443794b97ed7fe4bef8e888/test/clojure/test_helper.clj#L126. You could try copying it to your test suite (probably with some sort of copyright notice)?
thanks you did not know that, pretty handy
As for whether it's a good idea...it depends on how much reflection you have, and how important it is to avoid. If you have a large existing codebase that you haven't made special efforts to avoid reflection in, it might be pretty noisy. But if you're starting with relatively little reflection, and getting it down to zero is a priority, I could see it being helpful.
Are you trying to avoid reflection for performance reasons or for native-image compatibility or for some other reason?
I guess is both, we are trying pretty heavily to keep everything hinted. I have also just inherited the code base and still learning 😄