-
Couldn't load subscription status.
- Fork 119
local implies yielding
#3532
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
local implies yielding
#3532
Conversation
0a38111 to
00ad634
Compare
2f1a8ed to
bdec230
Compare
|
@riaqn I'd appreciate help debugging the divergence between principal and non-principal typing here, I can't figure out why it happens. |
|
The principality issue is because some types (for example, string) is |
bdec230 to
f061df6
Compare
|
I changed legacy zapping behavior of |
|
I also changed contents of |
|
Fixed the issue you pointed out + print order. |
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.
Could you check again if any diff can be minimized? (since the commits has gone back and forth).
Then I think it's good to go.
65e2665 to
1bc5a60
Compare
* `local` implies `yielding` * accept tests * `yielding` tests * format * dirty fix test change * small improvement * merge fix * fix printing bounds * accept tests * fix the issue with `instance_prim` * Only vary `yielding` with `[@local_opt]` * fixes * tests * fix lazy * format * keep order * fix mixed mode annots * fixes * fix * rebase + accept --------- Co-authored-by: Diana Kalinichenko <[email protected]> Co-authored-by: Zesen Qian <[email protected]>
Make
yieldingmode the default iflocalis set. The change is only limited to syntax parsing and does not change the inference code. To preserve consistency, theglobalmodality/modifier now also impliesunyieldingby default, and[@local_opt]also varies along theyieldingaxis.Subsequent PRs will add
yieldingannotations to the Capsule API and to the Effects API.The printer now displays
stack_allocation return values with@ unyielding, as intended.This change sometimes causes principal and non-principal type inference to diverge when the old syntax for
local_annotations is used. I'm surprised this compiler option affects syntax parsing, but the issue seems benign.