You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository has been archived by the owner on Jun 17, 2022. It is now read-only.
I think that for clarity keywords should always have key_* rules and should be in the keyword rule. In particular (this list may not be correct or complete):
is, inline, where, model, for, while, switch, if, else, unsafe have key_* rules but don't use them;
struct, union, static, atomic, and thread_local have key_* rules but don't appear in the keyword rule;
true, false, as, export, extern, fn, fntype, symbol, theory, needs, using, test, macro don't have key_* rules at all.
The first group should be fixed just to improve readability, as it has no effect on the grammar accepted.
As for the second and third groups it may be that you don't want some of these keywords to be excluded from the identifiers, but I think context-sensitive keywords just make things more confusing. I recommend changing them all too, even though this will exclude some code that was formerly legal.
The text was updated successfully, but these errors were encountered:
I think that for clarity keywords should always have
key_*
rules and should be in thekeyword
rule. In particular (this list may not be correct or complete):is, inline, where, model, for, while, switch, if, else, unsafe
havekey_*
rules but don't use them;struct, union, static, atomic, and thread_local
havekey_* rules
but don't appear in thekeyword
rule;true, false, as, export, extern, fn, fntype, symbol, theory, needs, using, test, macro
don't havekey_*
rules at all.The first group should be fixed just to improve readability, as it has no effect on the grammar accepted.
As for the second and third groups it may be that you don't want some of these keywords to be excluded from the identifiers, but I think context-sensitive keywords just make things more confusing. I recommend changing them all too, even though this will exclude some code that was formerly legal.
The text was updated successfully, but these errors were encountered: