-
Notifications
You must be signed in to change notification settings - Fork 175
Raise error if eager float literal conversion fails (fixes #1105) #2040
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
Conversation
45ddb89 to
46451b2
Compare
|
The tests hang because parsing I am utterly confused as to why that happens, seeing that e.g. Perhaps @ChrisJefferson or @stevelinton can enlighten me? |
46451b2 to
d9ba4a8
Compare
Codecov Report
@@ Coverage Diff @@
## master #2040 +/- ##
==========================================
+ Coverage 73.61% 73.61% +<.01%
==========================================
Files 484 484
Lines 245651 245655 +4
==========================================
+ Hits 180832 180838 +6
+ Misses 64819 64817 -2
|
|
So, the problem is that when we I'm not entirely sure what goes wrong, but there is already some dodgyness in this case -- I notice that However, if you change to a |
|
I think I figured out the problem: any calls the reader makes into the interpreter must be wrapped inside a TRY_READ { ... } -- even if they don't generate errors themselves. But code in At least that fixed entering |
stevelinton
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks correct although I hadn't understood this before.
The description of TRY_READ in read,h should be adjusted.
|
@stevelinton I tried to improve the In fact, I think I still have not fully grasped all facets and implications of And I have not actually checked which aspect(s) of |
... otherwise error recovery does not work correctly, even if the wrapped call itself does not trigger an error, because TRY_READ serves a second purpose beyond catching "exceptions": It also prevents the wrapped code from being entered if there was already an error before we get to it.
No description provided.