文件名称:no-panic:属性宏,要求编译器证明函数永远不会惊慌
文件大小:15KB
文件格式:ZIP
更新时间:2024-06-12 15:24:25
Rust
#[未恐慌] Rust属性宏,要求编译器证明某个函数永远不会惊慌。 [ dependencies ] no-panic = " 0.1 " use no_panic :: no_panic; #[no_panic] fn demo (s: & str ) -> & str { & s[ 1 ..] } fn main () { println! ( "{}" , demo ( "input string" )); } 如果函数确实出现了紧急情况(或者编译器无法证明该函数无法紧急发生),则程序将无法编译,并会出现一个链接器错误,该错误标识了函数名称。 让我们通过传递一个不能在第一个字节处切片的字符串来触发它: fn main () { println! ( "{}" , demo ( " \u {1f980}input string" )); }
【文件预览】:
no-panic-master
----LICENSE-MIT(1023B)
----.clippy.toml(16B)
----Cargo.toml(578B)
----.github()
--------FUNDING.yml(16B)
--------workflows()
----src()
--------lib.rs(7KB)
----LICENSE-APACHE(11KB)
----README.md(5KB)
----tests()
--------compiletest()
--------test.rs(3KB)
----.gitignore(30B)