-
Notifications
You must be signed in to change notification settings - Fork 181
Assert size for interned Value
#901
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.
|
0c3d7cf
to
932afa0
Compare
CodSpeed Performance ReportMerging #901 will not alter performanceComparing Summary
|
932afa0
to
c06feac
Compare
c06feac
to
793dc41
Compare
CC: @ibraheemdev |
) -> impl Iterator<Item = &'db Value<C>> { | ||
db.zalsa().table().slots_of::<Value<C>>() | ||
) -> impl Iterator<Item = &'db ValueForConfiguration<C>> { | ||
db.zalsa().table().slots_of::<ValueForConfiguration<C>>() |
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.
I've been trying to add some debug dumps for memory usage information and was running into some weird segfaults, I think this is the root cause. entries
is now incorrect because the type-id assertions is only based on C::Fields
, not C
. This leads to us returning slots for other interned structs that have identical fields, which shows up specifically for constant query functions fn query(&dyn Db)
. To prevent this we need Value
to have the Configuration
generic, do you think we could revert this change? For the size assertion we could create a dummy configuration type.
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.
Oh yes absolutely
No description provided.