cursive

Issues at: https://git.io/cursive-issues
cfleming 2020-08-27T00:47:27.025100Z

That sounds very strange. Can you post a screenshot of the find usages panel with the results of a problematic search?

cfleming 2020-08-27T00:48:17.025300Z

In particular I’m interested in the summary that says “Usages of <something> in <some scope>” - what does <some scope> look like?

cfleming 2020-08-27T00:49:49.025500Z

Yes, I’ve thought about this, as well as related things like moving multiple type hints from usages to the declaration (e.g. if a parameter has type hints on 3 of its usages, you could remove them all and type hint the parameter itself).

cfleming 2020-08-27T00:50:26.025700Z

But it’s surprisingly tricky. Here’s an example:

(let [x ^List some-thing
      y x]
  (.iterator y))

cfleming 2020-08-27T00:52:04.026Z

Here the type hint on x is required because later it’s used after being implicitly passed to y. However if y never used interop forms, that would not be required.

cfleming 2020-08-27T00:52:42.026200Z

I haven’t sat down to think through all the corner cases, but I suspect it’s a long list 🙂

cfleming 2020-08-27T00:59:04.026400Z

No, I can’t see why that wouldn’t work - I just tried to repro and it works fine here.

cfleming 2020-08-27T00:59:35.026800Z

Can you create a small reproduction project and put it on github so I can try it?