我正在处理一个使用了
这将产生以下结果:
#![no_std]
的项目,我想能够派生出有用的特性,如Copy
和Clone
。我尝试在项目根目录和我实际想要使用的文件中添加pub use core::prelude::*;
。然而,任何尝试#[derive(Copy)]
都会导致以下错误:
我不明白我做错了什么。尝试添加错误:尝试实现不存在的特性std::marker::Copy
use core::marker::Copy
这将产生以下结果:
错误:在此模块中已导入名为Copy的类型
derive
只是AST转换,就像编译器插件所做的一样,因此它们必须在标识符中指定完整名称。在大多数程序中,默认链接的是std
而不是core
,因此它们使用::std
。但是,我不知道是否有一个关于这个问题的公开票据。 - Vladimir Matveev