-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
explorer crashes attempting Value -> TupleValue cast #1394
Comments
* start correct * Fix #1394 * remove llvm::outs() * Fix #1394 * --- * fix issue-1394 * fix issue-1394 * Update explorer/interpreter/interpreter.cpp Co-authored-by: Geoff Romer <gromer@google.com> * fix issue-1394 * remove and rename test files * add changes from j.m Co-authored-by: m new <michael.burzan@outlook.de> Co-authored-by: Geoff Romer <gromer@google.com>
This change left a test broken, and after further discussion it's not clear that this is the direction we want to go in. This reverts commit 6cf2272.
To note, since a different approach of rearranging type-checking in explorer is being suggested, a test-case to verify:
I believe this is invalid due to proposal #875, because the body of PickType should only be type-checked after Foo is complete; consequently, it can't be used to determine the return type of GetZero, because that must be type-checked in order to complete Foo. I don't think explorer had previously been set up to do this, so it's just an edge case to watch for. |
There are lots of ways a declaration can be used before we have the information necessary to handle that use. Issue diagnostics for these. Interleave declaration and type-checking of global declarations so that declaring a later declaration can depend on the results of type-checking an earlier one. Fixes carbon-language#1394, fixes carbon-language#1395, fixes carbon-language#1396.
There are lots of ways a declaration can be used before we have the information necessary to handle that use. Issue diagnostics for these. Interleave declaration and type-checking of global declarations so that declaring a later declaration can depend on the results of type-checking an earlier one. Incorporates tests added in #2266. Fixes #1394, fixes #1395, fixes #1396. Co-authored-by: pmqtt <51272730+pmqtt@users.noreply.github.com> Co-authored-by: Jon Ross-Perkins <jperkins@google.com>
The text was updated successfully, but these errors were encountered: