-
Notifications
You must be signed in to change notification settings - Fork 13.1k
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
libsyntax: Name can be made NonZero #28657
Comments
Requires a snapshot after #30899 is merged. Otherwise matching on a builtin keyword name will fail to compile due to code in Alternatively we can start to eagerly evaluate |
ok it's merged. Now we just need to wait for the next snapshot. cc @alexcrichton |
It may be a bit before we get a new snapshot, so I might recommend some |
That would be way too messy. It's already a huge crowd of macros that's generating these definitions. I'll just wait until the next snapshot. It's not like this is a critical change. |
This issue is not important or urgent, it can wait as long as necessary and doesn't worth the |
Also, before we start throwing the |
I've implemented this and there's no observable difference in consumed memory or compilation times, and more |
Nah, it doesn't make difference for most of crates, but consistently reduces memory consumption for the two largest crates -
|
Well, now I can't reproduce it. Let's consider this a fluctuation. |
Spawned from #28642
Name
is an index into the string interner's internal array. The first element of this array can be reserved andName
will always contain non-zero index. It will makeOption<Name>
andOption<Ident>
commonly encountered in AST/HIR more compact.Requires
const unsafe
functions.The text was updated successfully, but these errors were encountered: