rustviz
所属分类:collect
开发工具:Rust
文件大小:0KB
下载次数:0
上传日期:2023-07-07 17:36:02
上 传 者:
sh-1993
说明: 鲁斯特维兹,,
(rustviz,,)
文件列表:
.DS_Store (6148, 2023-11-20)
.vscode/ (0, 2023-11-20)
.vscode/settings.json (59, 2023-11-20)
output (0, 2023-11-20)
print/ (0, 2023-11-20)
print/.DS_Store (8196, 2023-11-20)
print/Cargo.lock (34311, 2023-11-20)
print/Cargo.toml (1181, 2023-11-20)
print/Makefile (516, 2023-11-20)
print/aquascope/ (0, 2023-11-20)
print/aquascope/Cargo.lock (9799, 2023-11-20)
print/aquascope/Cargo.toml (1176, 2023-11-20)
print/aquascope/src/ (0, 2023-11-20)
print/aquascope/src/analysis/ (0, 2023-11-20)
print/aquascope/src/analysis/boundaries/ (0, 2023-11-20)
print/aquascope/src/analysis/boundaries/mod.rs (27378, 2023-11-20)
print/aquascope/src/analysis/boundaries/path_visitor.rs (7663, 2023-11-20)
print/aquascope/src/analysis/find_bindings.rs (1027, 2023-11-20)
print/aquascope/src/analysis/ir_mapper/ (0, 2023-11-20)
print/aquascope/src/analysis/ir_mapper/body_graph.rs (6896, 2023-11-20)
print/aquascope/src/analysis/ir_mapper/mir_locations.rs (1567, 2023-11-20)
print/aquascope/src/analysis/ir_mapper/mod.rs (10042, 2023-11-20)
print/aquascope/src/analysis/ir_mapper/post_dominators.rs (4632, 2023-11-20)
print/aquascope/src/analysis/mod.rs (15643, 2023-11-20)
print/aquascope/src/analysis/permissions/ (0, 2023-11-20)
print/aquascope/src/analysis/permissions/context.rs (16730, 2023-11-20)
print/aquascope/src/analysis/permissions/flow.rs (15433, 2023-11-20)
print/aquascope/src/analysis/permissions/mod.rs (5420, 2023-11-20)
print/aquascope/src/analysis/permissions/output.rs (18443, 2023-11-20)
print/aquascope/src/analysis/permissions/utils.rs (7481, 2023-11-20)
print/aquascope/src/analysis/scrape_hir.rs (1163, 2023-11-20)
print/aquascope/src/analysis/stepper/ (0, 2023-11-20)
print/aquascope/src/analysis/stepper/hir_steps.rs (35345, 2023-11-20)
print/aquascope/src/analysis/stepper/mod.rs (10086, 2023-11-20)
print/aquascope/src/analysis/stepper/segmented_mir.rs (31799, 2023-11-20)
print/aquascope/src/analysis/stepper/table_builder.rs (13269, 2023-11-20)
print/aquascope/src/bin/ (0, 2023-11-20)
... ...
# rustviz_draft
* Usage:
* cd print
* cargo install --path .
* cd test-crate
* touch src/lib.rs
* cargo print-all-items > ../../output
* Issues:
* Our primary goal is to support the basic examples in the rustviz tutorial. However, as there are much more possible syntax that will appear in a snippet of rust code, you might find some of them interesting which haven't been analyzed. Feel free to bring up new issues.
## Installation
```sh
cargo install mdbook-aquascope --locked --version 0.3.0
rustup toolchain install nightly-2023-08-25 -c rust-src rustc-dev llvm-tools-preview miri
cargo +nightly-2023-08-25 install aquascope_front --git https://github.com/cognitive-engineering-lab/aquascope --tag v0.3.0 --locked
cargo +nightly-2023-08-25 miri setup
```
If you run into an error like this:
```sh
error[E0658]: use of unstable library feature 'is_terminal'
--> /home/fanbao/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anstream-0.6.4/src/stream.rs:119:9
|
119 | std::io::IsTerminal::is_terminal(self)
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: see issue #98070 for more information
= help: add `#![feature(is_terminal)]` to the crate attributes to enable
For more information about this error, try `rustc --explain E0658`.
error: could not compile `anstream` (lib) due to 5 previous errors
```
go to the directory `/home/fanbao/.cargo/registry/src/index.crates.io-6f17d22bba15001f/anstream-0.6.4/src/`. find the main file, typically named lib.rs, and add `#![feature(is_terminal)]` at the top.
## Progress
| Event | State |
| ------------------------------ | ------------------------------------------------------------ |
| `Bind(a)` | Done: rhs is a lit |
| `Copy(a->b)` | ... |
| `Move(a->b)` | Done:
In `Let` and `Assign`: lhs is a path, rhs is function/path/`String::from`.
Function call: arguments with ownership
Ongoing: rhs is binary(+-), method call -Chenglin
Todo: function return(cur method: path that can be directly visited) |
| `StaticBorrow(a->b)` | Done: lhs is a path, rhs `&` |
| `MutableBorrow(a->b)` | Done: lhs is a path, rhs `&mut` |
| `StaticDie(a->b)` | Done: life time record the last time the variable occur
Todo: `->b` who is b? |
| `MutableDie(a->b)` | ... |
| `PassByStaticReference(a->b)` | Done: function argument with only read permission required or `&` or `println` |
| `PassByMutableReference(a->b)` | Done: function argument with only write and read permission required or `&` |
| `GoOutOfScope(a)` | Done: function ends
Todo: (nested) block |
| `InitRefParam(a)` | Done: parameter whose type is not reference
In `fn visit_param` |
| `InitOwnerParam(a)` | ... |
近期下载者:
相关文件:
收藏者: