我已经把我的 rust 项目分成多个文件在同一个文件夹中整洁。现在每个文件被视为一个mod自己,我必须标记一切pub(crate)。有没有一种方法来公布所有符号在一个文件中为同一个机箱使用,或标记文件不作为模块自己,但我的main.rs的一部分?
pub(crate)
main.rs
oyt4ldly1#
Rust有一个内置的宏include!,它的工作原理类似于c中的#include,但请注意,这不是它的预期用途。该宏通常用于包含生成的文件,如opengl绑定,这些文件不是用于编辑的。Rust analyzer不会在包含的文件中提供intelisense。正如@Chayim Friedman提到的,使用pub(crate)是一种方式,但是:
include!
#include
struct A; // private struct pub(crate) struct B; // public to whole crate pub struct C; // public to other crates, but only if this is library pub(super) struct D; // public to parent module
如果你有main,我假设你的项目是应用程序,而不是库,所以你只需要pub。
main
pub
1条答案
按热度按时间oyt4ldly1#
Rust有一个内置的宏
include!
,它的工作原理类似于c中的#include
,但请注意,这不是它的预期用途。该宏通常用于包含生成的文件,如opengl绑定,这些文件不是用于编辑的。Rust analyzer不会在包含的文件中提供intelisense。正如@Chayim Friedman提到的,使用pub(crate)
是一种方式,但是:如果你有
main
,我假设你的项目是应用程序,而不是库,所以你只需要pub
。