文件名称:humpty_dumpty:用于Rust的隐式Dropmove保护(线性类型)
文件大小:15KB
文件格式:ZIP
更新时间:2024-06-17 18:43:39
Rust
矮胖 该库的目标是能够定义只有在受控情况下才能隐式删除的类型。 设计草图可以在找到。 该设计不处理分支,尽管可以扩展为这样做。 这也和我最终实现的有点不同 这个想法是,对于标记为#[drop_protection] ,只有用#[allowed_on_protected]注释的函数才能使用这些,并且每个局部变量必须在其作用域结束之前使用标记为#[allowed_drop]的函数删除。 当前状态:能够跟踪此类类型并报告其使用情况。 维护已正确删除的内容的列表,以检测隐式删除。 一些缺少的(但计划中的)功能: 尚不能处理条件删除,即分支中的删除。 除了 let 绑定之外,还不能处理任何绑定 允许的函数还不能接受 &/&mut 输入 尚无法将方法调用标记为允许 要进行测试,请运行cargo run --example test ,或者甚至更好的rustc examples/test.r
【文件预览】:
humpty_dumpty-master
----Cargo.toml(429B)
----src()
--------lib.rs(18KB)
----examples()
--------close.rs(271B)
--------match.rs(465B)
--------for_loop.rs(315B)
--------test.rs(503B)
--------close_vec.rs(406B)
--------close_method.rs(291B)
----.travis.yml(94B)
----README.md(1KB)
----tests()
--------compile_test.rs(481B)
--------loop-continue.rs(936B)
--------loop-break.rs(2KB)
--------match-return.rs(1KB)
--------compile-fail()
--------if-return.rs(1KB)
----.gitignore(18B)