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

Tools wishlist #24

Open
nrc opened this issue Aug 9, 2017 · 8 comments
Open

Tools wishlist #24

nrc opened this issue Aug 9, 2017 · 8 comments

Comments

@nrc
Copy link
Member

nrc commented Aug 9, 2017

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.

@nrc
Copy link
Member Author

nrc commented Aug 9, 2017

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.

@Manishearth
Copy link
Collaborator

rustfix? @killercup

(I mean, killercup is working on it, but it's not an official devtools tool and others aren't)

@nrc
Copy link
Member Author

nrc commented Aug 9, 2017

Unsafety checking

I.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.

@nrc
Copy link
Member Author

nrc commented Aug 9, 2017

Macro debugging tools

At 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.

@Manishearth
Copy link
Collaborator

That tool will probably arise as dynamic analysis out of the unsafe guidelines work.

@Manishearth
Copy link
Collaborator

Manishearth commented Aug 9, 2017

Trust checking

The 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)

@nrc
Copy link
Member Author

nrc commented Aug 9, 2017

Borrowing explorer

There 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.

@nrc
Copy link
Member Author

nrc commented Aug 9, 2017

Migration tooling

Migrate Rust code across epochs

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

No branches or pull requests

2 participants