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

Tool to detect/display function dependencies in Rust crates #558

Closed
pcwalton opened this issue Jun 23, 2011 · 11 comments
Closed

Tool to detect/display function dependencies in Rust crates #558

pcwalton opened this issue Jun 23, 2011 · 11 comments

Comments

@pcwalton
Copy link
Contributor

This would be useful for many things:

  • Figuring out which functions are dead and can be removed.
  • Visualize function dependencies (with dot).
  • Be the basis for a Rust ccache workalike.
  • On-demand, lazy unit tests.
@pcwalton
Copy link
Contributor Author

I have call graph generation working in a branch.

@ghost ghost assigned pcwalton Aug 21, 2011
@ghost ghost assigned pcwalton Mar 15, 2012
@catamorphism
Copy link
Contributor

@pcwalton did you ever integrate this?

@pcwalton
Copy link
Contributor Author

pcwalton commented May 4, 2012

No, it's assuredly bitrotted by now.

@catamorphism
Copy link
Contributor

I'll take this on as a first step towards #2369

@catamorphism
Copy link
Contributor

Bumping to 0.7.

@catamorphism
Copy link
Contributor

Not critical for 0.7. Nominating for milestone 3, feature-complete.

@graydon
Copy link
Contributor

graydon commented May 30, 2013

just a bug, removing milestone/nomination.

@emberian
Copy link
Member

Such a tool also needs to be able to tell me everywhere a type is used, for maximum utility. Since we have inference, it's near impossible to grep for a type or function returning that type to see where it's used.

@emberian
Copy link
Member

Visiting for triage; nothing to add.

@huonw
Copy link
Member

huonw commented Dec 19, 2013

Triage

Figuring out which functions are dead and can be removed.

is done, as the dead_code lint pass, but it doesn't collect any more detailed information than which functions are public or are called by public functions (or called by functions called by public ones, etc, etc).

@steveklabnik
Copy link
Member

I'm pulling a massive triage effort to get us ready for 1.0. As part of this, I'm moving stuff that's wishlist-like to the RFCs repo, as that's where major new things should get discussed/prioritized.

This issue has been moved to the RFCs repo: rust-lang/rfcs#605

keeperofdakeys pushed a commit to keeperofdakeys/rust that referenced this issue Dec 12, 2017
add truncate64/readdir64/openat64 on linux
pdietl pushed a commit to pdietl/rust that referenced this issue Apr 23, 2020
ZuseZ4 pushed a commit to EnzymeAD/rust that referenced this issue Mar 7, 2023
celinval added a commit to celinval/rust-dev that referenced this issue Jun 4, 2024
We cannot easily specify which arithmetic operations are wrapping ones to CBMC. Thus, CBMC was generating overflow checks for wrapping operations which were generating spurious failures. This change disables some of those CBMC checks. We replace them by using rustc overflow checks for regular operations and by explicitly adding checks to unchecked operations.
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

7 participants