-
Notifications
You must be signed in to change notification settings - Fork 192
Unchecked page access #887
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
Conversation
✅ Deploy Preview for salsa-rs canceled.
|
CodSpeed Performance ReportMerging #887 will improve performances by 16.45%Comparing Summary
Benchmarks breakdown
|
4687e94 to
950eb1a
Compare
|
I assume this is not doable for the same reason we cannot ever omit the type checks, someone could smuggle an index from one database to another. The type checks are a lot more expensive, I'd love if we could get rid of them |
|
Maybe an (unsound) feature flag with the invariant that your application only has a single database? Or maybe we could even have a global that panics if you try to create multiple databases? |
|
That (panic on DB creation) does sound like a possible escape, that should also allow dropping the nonce check in that situation I think? Testing that seems a bit iffy though. Now I wonder if there is a design where we could brand databases with an invariant lifetime given we already have a lifetime infestation everywhere anyways (though that one is currently covariant due to being the references lifetime). That could prevent smuggling as well? Though that won't avoid the nonce check, given the |
Actually, how is this possible given the nonce check? That guarantees we have the same database whose index we cached. With inventory now the ingredient indices and types are stable, so the safety argument is clearer I think. |
|
Opened #937. I think you're right that we can't do this for slots at least, because slot IDs don't encode the database they were created from. |
Interested to see the performance results...