Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/xldenis/tool-lib
https://github.com/xldenis/tool-lib
Last synced: about 19 hours ago
JSON representation
- Host: GitHub
- URL: https://github.com/xldenis/tool-lib
- Owner: xldenis
- Created: 2022-05-17T18:09:15.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-05-18T13:45:27.000Z (over 2 years ago)
- Last Synced: 2023-04-03T13:15:24.047Z (over 1 year ago)
- Language: Rust
- Size: 8.79 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Experimental tool-lib
This is an experimental implementation of the `tool_lib` discussed as part of [Project Stable MIR](https://github.com/rust-lang/project-stable-mir).
The objective is to identify what subset of the `rustc` API is used by verification tools and *why*.The initial plan is to first *identify* and *isolate* the set of rust apis used by verification tools, and then classify those apis into "Necessary", "Questionable" and "Problematic" categories so that we can identify what should really be exposed via a `tool_lib` and what should either be wrapped or reformulated.
Additionally, this could form a good starting place for code sharing, by allowing tool authors to place common utility functions in a shared location.
As the work progresses, it could also be a good opportunity re-organize the various APIs into a coherent and unified set of modules, masking their underlying `rustc` crate sources.
## A Rough Guideline for adding an API
- Avoid exposing entire _modules_.
- Avoid using glob patterns to expose types or functions.
- Avoid exposing constructors of types, instead expose the type itself.