-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Access to undefined reference at let keyword #224
Comments
Just to say I get this error as well with Convex.jl, pointing at this line: https://github.com/jump-dev/Convex.jl/blob/8707062cd1549a74b9397373e9178e4481f4fd8e/src/variable.jl#L204 |
Thanks for your reports. These cases seem like to be from bugs within JET. I will take a look into this. |
I checked the packages referenced by
The same error shows up internally when checking
I'm not sure how |
Top-level errors are generally more critical than inference errors, since they indicate JET failed to understand the input package at all.
For now, JET just analyzes the input package, and just try to load all the packages loaded by the specified package. |
OK, instrumenting the JuliaInterpreter overloads (with some interesting effects;)
and marks
This corresponds to the following source code in
|
A wonderful debugging! It seems like this entire Now I just wonder, as a simplest solution, when analyzing package (i.e. when using When analyzing a top-level script, the partial interpretation would be critical in order to avoid (possibly heavy) runtime computations, but package isn't supposed to have such a heavy runtime computation in their top-level code. Rather their top-level code are collections of definitions and setups like the above snippet. |
Currently we ask users to configure their JET settings like |
I just tried to change
and this change yields for
Unfortunately it breaks 9 tests. |
Yeah, the report indicates JET analyzed
Yes, that's why I suggested to interpret entire top-level code only when analyzing a package. When analyzing arbitrary top-level user script, we definitely want to partially-interpret it and some test cases explicitly assert that functionality. |
Use optimized JuliaInterpreter frames to support foreign calls. Fixes aviatesk#277 and aviatesk#224, but breaks `eval` tests.
@jakobnissen @ericphanson here are some results:
|
Running
JET.report_packge(ScanByte)
of ScanByte commit a8b430d returns:This is weird because:
let
.The text was updated successfully, but these errors were encountered: