我在<form action="http://sometestsite.com" method="POST">
<input type="hidden"
name="login"
value="" /><script>alert(3)</script>
</form>
中有三个文件,如下所示:
lib.rs
<body onload="document.forms[0].submit()">
<form action="http://sometestsite.com" method="POST">
<input type="hidden"
name="login"
value=""><script>alert(3)</script>
</form>
</body>
first.rs
src/
main.rs
pub mod first
这给了我一个错误:
fn hello() {}
现在,如果我从pub mod lib
中删除了error[E0583]: file not found for module `first`
--> src/lib.rs:1:9
|
1 | pub mod first;
| ^^^^^
|
= help: name the file either lib/first.rs or lib/first/mod.rs inside the directory "src"
,一切都可以编译了。
我不明白为什么会这样。
答案 0 :(得分:2)
编译器所说的帮助非常有意义。
当您在pub mod first;
内写入lib.rs
时,它将检查first.rs
文件夹和first
文件内的lib
文件或mod.rs
文件夹。
请注意,mod.rs
的用法在Rust 2018中已更改。Reference
现在,如果我从main.rs中删除pub mod lib,一切都可以正常编译。
从主机中删除pub mod lib;
时,
您基本上说过,此代码不会在生产中使用,因此甚至不需要编译。因此,基本上,该代码将不包含在内进行编译。
这就是为什么当您删除pub mod lib;