-
Notifications
You must be signed in to change notification settings - Fork 5
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
Questions about soundness #9
Comments
Hi! I actually published this library specifically to add it in rowan; I was the one pushing to get the inline allocation-based size reductions in. I try to keep this library under "sanitization" with miri, and of course I believe the API I've published is fully sound, but there's always the possibility that I missed something.
I'm actually working on a revision of this system of type erasure which should hopefully end up more powerful and more obvious. If you can provide a small(er) reproduction case for the issue, I'd be happy to try to trace down the cause. I take pride in the correctness of my evil code 😜 |
I'm going to go ahead and close this as most likely not our issue. |
Hi. We are using your library at
rust-analyzer
, specificallyrowan
red-green syntax tree crate.We have stumbled with
invalid free()
(here is the link to that issue).I just took a quick look into the places where we use
unsafe
code and stepped into your crate. I am not entirely sure whether this comes from here, otherwise, I would've created a bug report.I just have some questions about these lines of code here:
thin-dst/src/lib.rs
Lines 111 to 121 in 1da8b7a
First of alI, I am not a pro in
unsafe
counterpart of Rust, please just correct me if I am wrong.My questions are:
*const _
and*mut _
pointers in their body respectively? I've heard this has something to do with pointer provenance, though I am not entirely sure in this context.usize
and toSliceItem
at the first and the second lines of these functions (which is like we are doing type punning), but I don't see why we would do that. Could you please elaborate?The text was updated successfully, but these errors were encountered: