-
Notifications
You must be signed in to change notification settings - Fork 254
implement rust custom data renderer #6721
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
base: dev
Are you sure you want to change the base?
Conversation
2a70d41
to
f09dd6a
Compare
Would like to see some tests for this, some of it was started here but still incomplete |
That's the data_notification, not the data_renderer. |
🤦 Thanks, something felt off when I sent that comment, disregard! |
Just for future reference, this PR addresses #6485 if I'm not mistaken. I would profit from this API for my current project as I assume it offers performance benefits compared to its Python counterpart (#3082). Is there anything I can contribute to complete this PR, e.g. implement the missing tests? |
This PR is missing the tests, plus I didn't finish this PR because I felt that I didn't get exactly how the API is supposed to work. |
I was trying to write the API first by imagining how the user would like to use the API, then writing it in the most "zero cost abstraction" way possible. But I couldn't get exactly how the user would want to use it API, I just ended up writing wrappers around the the C functions. Maybe because you need to use this, you are in a much better position for writing it. |
Thanks for getting started with the PR. I think your approach of "just" writing a wrapper for C functions is totally valid. I found the API pretty intuitively to use as it's similar to its Python / C++ counterparts which have some documentation. In my initial experiments, BinaryNinja crashed when using the API's Rust implementation due to the I've remodeled the internal implementation after the |
Yes, Just remember to mark this PR, so it can be closed.
It don't need to include many tests, just to prove that the implementation works. |
No description provided.