-
Notifications
You must be signed in to change notification settings - Fork 9
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
Tools wishlist #24
Comments
An unsafe audit tool.A cargo plugin, which covers deps and the current crate and lists all unsafe blocks, functions, impls. Has JSON and human-readable output. Should use the AST, rather than greping for "unsafe". Fairly easy (but non-trivial), quite small. https://github.com/avadacatavra/cloc-rust Is a step towards this. |
rustfix? @killercup (I mean, killercup is working on it, but it's not an official devtools tool and others aren't) |
Unsafety checkingI.e., looks at your unsafe code and tells you whether it is really unsafe. Very difficult, possibly impossible. Depends on the unsafe guidelines work that is ongoing. Probably huge. |
Macro debugging toolsAt least show expansion of macros in source code. Better if we can show every step of expansion. Better still if we can integrate with rustw and every step of expansion has all defs/refs properly linked. See Dr Racket. Pretty open-ended. Medium difficultly. |
That tool will probably arise as dynamic analysis out of the unsafe guidelines work. |
Trust checkingThe ability to manage trust in a large dependency chain. We need this for firefox and will make something ad-hoc for it but it would be great to make it into a proper tool at some point. (Ideally this would integrate with the unsafety stuff too) |
Borrowing explorerThere has been some work towards borrow visualisation. I'd like to go further and have an interactive tool for exploring how borrowing/lifetimes/etc. affects the code. |
Migration toolingMigrate Rust code across epochs |
Tools we wish we had, but don't have time to work on right now. Please indicate the magnitude of the task.
I'm primarily looking for ideas which are not in progress or even on our radar for starting.
The text was updated successfully, but these errors were encountered: