Похоже, вы путаете роль корневого пространства имен. use ::functions;
означает что-то немного отличное от use functions;
Давайте рассмотрим структуру вашего проекта:
project
├── src
| ├── settings.rs
| ├── functions.rs
| └── main.rs
└── Cargo.toml
Когда вы находитесь в пределах settings.rs
, остальные модули находятся на том же уровне, поэтому use functions;
обращается к модулю functions
.
Если вы хотите обратиться к модулю functions
через корневое пространство имен, тогда полный путь будет выглядеть следующим образом ::project::functions
, а объявление use
будет use ::project::functions;
.