Comments (6)
Hi,
I also encountered this issue when trying to deliver kibit as part of a jar with AOT-compiled code. I dug a little deeper and I think I have found the cause, but I can't explain it.
The exception I'm getting is the same as cemerick (slightly different class names):
https://gist.github.com/ragnard/5127767#file-exception
Looking at the disassembled bytecode for the kibit.rules.arithmetic__init
class, I think we have the offending code at:
https://gist.github.com/ragnard/5127767#file-kibit-rules-arithmetic__init-L171
It loads the string constant #=(kibit.rules.util$compile_rule$fn__2052. )
and invokes read-string
. However, the kibit.rules.util$compile_rule$fn__2052
class doesn't seem to have an empty constructor (as the exception indicates):
https://gist.github.com/ragnard/5127767#file-kibit-rules-util-compile_rule-fn__2052-L16
From what I can understand, either the generated class for compile-rule
is wrong, or the generated call to the constructor. Not sure how this can happen.
from kibit.
I can reproduce this by running lein do clean, compile :all
.
I'm not sure what's going on here. Any and all help is much appreciated.
from kibit.
It seems to be caused by these two lines. If the anonymous functions are removed everything compiles without errors. Anything unusual with this that I'm not seeing? Note that compile-rule
runs at macro expansion time.
from kibit.
@ragnard I think this is fixed in master now. Could you try it?
from kibit.
This was fixed in master but is broken again now. git bisect suggests that 7f32703 reintroduced compilation problems, though they are different to the original issue.
from kibit.
Upgrading to core.logic fixes compilation errors. This will be brought in in #105.
from kibit.
Related Issues (20)
- deps.edn / clj support HOT 6
- Faulty suggestions for do in vector HOT 2
- Check failures exit with 0
- Need a possibility for Check failures to return exit code 0 with findings HOT 4
- Release the new version with :repository tag
- Faulty rule for not empty HOT 8
- namespace docstrings break kibit... HOT 8
- Kibit evaluates and runs code it parses with no option to disable it HOT 1
- Kibit chokes on ##NaN, ##Inf, etc. HOT 1
- Kibit blows up on qualified keywords when require has a `:refer` HOT 1
- Using `--replace` removes the namespace qualifier `::`
- Kibit cannot parse namespaces with string requires
- -> and ->> in datomic queries
- Incorrect suggestion when using reducers HOT 1
- Getting conditionals read not allowed error in `cljc` file HOT 2
- Wrong suggestion for `(fn [x] [x x])` HOT 1
- Maintenance Status HOT 5
- Should not suggest eta-reduction for macros HOT 2
- Please Release HOT 4
- Arithmetic advices for expm1 and hypot + others
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from kibit.