我在 src 目录下有 main.rs 和 bear.rs 。每次编译时,编译器都指向E0658。我已经阅读了E0658的文档,它告诉我这是一个不稳定的功能。
main.rs
Service
@Qualifier("userService")
@Transactional
public class UserRepositoryImpl implements UserRepository {
@Autowired
private EntityManager entityManager;
@Override
public <S extends Users> S save(S entity) {
try {
System.out.println("!!!!!!!!!! received entityManager.persist(entity);");
entityManager.persist(entity);
} catch (Exception e) {
e.printStackTrace();
}
return entity;
}
...
}
bear.rs
mod bear;
use bear::factory::make_bear;
fn main() {
println!("Hello, world!");
let bear = make_bear();
}
当我编译这段代码时,我是从编译器得到的:
pub mod factory {
pub fn make_bear() -> Bear {
// code to instantiate Bear struct.
}
}
我是否必须等待Rust社区之间的共识,或者除了文档中的不便建议外,我现在还能做些什么吗?
答案 0 :(得分:8)
更改
use bear::factory::make_bear;
到
use crate::bear::factory::make_bear;
这是一个更改in the 2018 edition of Rust。我不会在此页面上重新创建所有内容,但是我可以说这种改变的动机是双重的,一个是停止要求使用extern crate bear;
指令,同时消除了在您拥有这种情况下可能出现的歧义。不仅是本地模块名称bear
,而且还依赖于也称为bear
的外部包装箱。