Skip to content
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

Use direct pointers for Symbols #42

Closed
wants to merge 1 commit into from
Closed

Conversation

rpjohnst
Copy link
Owner

This relies on the extensions to Rust's consts described in issue
rust-lang/const-eval#11, and will not compile today.

This relies on the extensions to Rust's `const`s described in issue
rust-lang/const-eval#11, and will not compile today.
rpjohnst added a commit that referenced this pull request Apr 13, 2020
Includes some `Symbol` clean-up from #42.

Closes #43 by treating NaN as a tagged value. Future work on #40 may take
another approach.
@rpjohnst
Copy link
Owner Author

rpjohnst commented May 12, 2020

The idiom used here to emulate a C-style flexible array member (struct Entry { ..., data: [u8; 0] }) may be unsound. Entry::borrow forms a reference to the whole allocation from another reference that only covers the Entry itself. In Stacked Borrows terms, I believe this new reference will not have any granting items on the stack(s) for the actual data.

I'll need to revisit this as well before taking this approach. (EDIT: Or, Stacked Borrows may be tweaked to accommodate this: rust-lang/unsafe-code-guidelines#134.)

@rpjohnst rpjohnst force-pushed the master branch 2 times, most recently from f5af6c5 to 81c24b0 Compare May 24, 2020 01:06
@rpjohnst rpjohnst deleted the branch master January 10, 2022 00:19
@rpjohnst rpjohnst closed this Jan 10, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant