Rust 锈菌导入错误

Rust 锈菌导入错误,rust,Rust,我有一个cargo init制作的生锈项目: 迪尔 |-src |-梅因 |-设置 |-功能 我在settings.rs中有: use functions; pub fn something() { functions::some_function_here(); } 但在编译时,我得到一个错误: 错误[E0432]:未解析的导入函数` ->src/settings.rs:3:5 | 3 |使用::函数; |^^^^^^^^^^^^^^根目录中没有“函数” 在您的评论中,您声明: 我

我有一个cargo init制作的生锈项目:

迪尔 |-src |-梅因 |-设置 |-功能 我在settings.rs中有:

use functions;

pub fn something() {
    functions::some_function_here();
}
但在编译时,我得到一个错误:

错误[E0432]:未解析的导入函数` ->src/settings.rs:3:5 | 3 |使用::函数; |^^^^^^^^^^^^^^根目录中没有“函数”
在您的评论中,您声明:

我不想使用[mod functions],因为它将搜索settings/functions.rs,而我不想使用它

你试过了吗?假设您已正确声明模块。。。这正是你想要的

main.rs:

mod functions;
mod settings;

fn main() { 
    ...
}
设置.rs:

use functions;

pub fn something() {
    functions::some_function_here();
}

如果这不起作用。。然后,您的问题描述中缺少了一些内容。

看起来您混淆了根命名空间的角色。用法::函数;表示与使用函数稍有不同的内容

让我们考虑一下你的项目结构:

project
├── src
|   ├── settings.rs
|   ├── functions.rs
|   └── main.rs
└── Cargo.toml
当您在settings.rs中时,其他模块处于同一级别,因此使用功能;访问功能模块


如果确实希望通过根命名空间引用functions模块,则完整路径如下::project::functions,使用声明为use::project::functions

请检查如何创建一个,然后检查您的问题以将其包括在内。例如,我们无法说出main.rs的内容是什么。理想情况下,制作一些能够再现你在计算机上的错误的东西。也有。另外,请阅读,因为它涵盖了这方面的基本知识;你看过这些吗?这很可能是其中一个的副本。当然,我阅读了有关模块的文档,我不想使用[mod functions],因为它将搜索设置/函数.rs,我不想使用它。@xiaomifanboy请阅读Shepmaster提供给您的许多链接后面的内容。在你被给予足够的内容来改进你的问题之后,要求更多的建议是不礼貌的。这个问题看起来还不够完整,无法重现这个问题。这就是我想要的!非常感谢。但是你能解释一下它是如何工作的吗?这真令人困惑。另外,我可以从main.rs中删除[mod functions]吗?不需要删除从其他模块导入的函数。与Python不同,只有显式重新导出的函数在main之外可用