-
-
Notifications
You must be signed in to change notification settings - Fork 655
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
Add --uncheckedBehavior to customize the use of unchecked() contexts #2575
Conversation
I think it's better to have several options. Like:
wdyt? |
I got this working, but the compiler doesn't want to bootstrap with The last commit I added demonstrates this issue. When this is fixed, I'll force-push it away before this PR is merged. |
d049bd2
to
2930aae
Compare
77e4e73
to
4734f33
Compare
After changing some code in the compiler, it appears bootstrap can compile all the tests using |
49b7ec3
to
809a4d4
Compare
This should be ready-to-merge, unless @dcodeIO wants to remove the |
I can probably remove that commit anyway due to #2586
|
3e41b48
to
ac6c182
Compare
Even with the unchecked operator removed, something is somehow broken. |
The |
ac6c182
to
3e41b48
Compare
I just played around with |
718a287
to
4468eda
Compare
|
b05502a
to
544fd64
Compare
Given the problems observed with |
Going back to disabling unchecked would be fine, but describing the mode to be "unsafe" or "experimental" or just outright saying it breaks things should be warning enough. @dcodeIO I'll do it if it's necessary. |
Given that |
Same assertion is hit in another PR (linked above), which is otherwise unrelated. Interestingly, the issue can only be seen on CI, and only on boostrap:release. |
5919b54
to
718a5d0
Compare
This new option allows users to use unchecked() as usual, ignore it entirely, and force unchecked contexts everywhere. Ignoring unchecked is useful for debugging, and, if you're certain you want to accept the risk, forcing unchecked could be beneficial for performance.
7f439ac
to
478895f
Compare
Bootstrapping with |
If the context is unchecked, something very wrong must have happened. Co-authored-by: dcode <dcode@dcode.io>
Thanks :) |
This new option allows users to use unchecked() as usual, ignore it
entirely, and force unchecked contexts everywhere. Ignoring unchecked
is useful for debugging, and, if you're certain you want to accept the
risk, forcing unchecked could be beneficial for performance.