-
Notifications
You must be signed in to change notification settings - Fork 87
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
Make
yielding
mode the default iflocal
is set. The change is only limited to syntax parsing and does not change the inference code. To preserve consistency, theglobal
modality/modifier now also impliesunyielding
by default, and[@local_opt]
also varies along theyielding
axis.Subsequent PRs will add
yielding
annotations 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.