Rust工作区成员项目导入命名简化方案咨询(无需改源码)
解决方案
要实现你想要的简洁导入方式,只需要修改libs/src/messages/mod.rs,将ServerMessage从子模块重导出到messages模块的命名空间下即可:
pub mod client_message; pub mod remote_state; pub mod server_message; pub mod state; // 把server_message里的ServerMessage提升到messages模块级别 pub use server_message::ServerMessage;
修改后,你就能直接使用libs::messages::ServerMessage::Welcome(id)的写法,完全不需要改动业务逻辑代码。
原理说明
Rust的pub use语句可以将子模块中的公共项“提升”到父模块的命名空间中,外部代码访问时就无需再深入到子模块层级。这种方式只调整模块的导出结构,不会影响原有代码的逻辑和功能。
内容的提问来源于stack exchange,提问作者MortalFool
相关产品推荐
相关产品推荐

