问我主要是出于好奇,我没有这方面的用例.
阅读Rust参考,我注意到在函数中定义任何类型的项显然是合法的.根据参考文献:
项目的路径名称...对于封闭项是私有的(在函数的情况下)
假设下面的代码,我们在函数中定义了一个类型和一个模块:
pub fn main() {
#[derive(Debug)]
pub struct Foo;
mod module {
pub fn function() {
println!("{:?}", Foo);
}
}
module::function();
}
是否可以从module
模块中引用main
函数中定义的Foo
类型?
目前,我收到以下编译错误:
|
7 | println!("{:?}", Foo);
| ^^^ not found in this scope