1安装rust编译器
安装Rust官方文档在Ubuntu20LTS上安装
2修改rust编译器源码
Rust是增量编译,添加query即可
每个query需要一个provider
详情请看添加query官方文档
2.1 添加query
在文件目录
下找到,mod.rs文件,打开
添加以下代码
这是query的声明
然后添加函数体实现代码
到文件目录
打开inherent_impls_overlap.rs文件
插入以下代码
从这里copy
pub fn hello_world(tcx: TyCtxt<'_>, crate_num: CrateNum) {
assert_eq!(crate_num, LOCAL_CRATE);
let krate = tcx.hir().krate();
krate.visit_all_item_likes(&mut InherentOverlapChecker { tcx });
println!("hello world");
}
2.2添加provider
到文件目录
打开mod.rs
然后添加代码
即可
2.3 调用query
最后在
文件里
加入调用语句
保存所有文件
3编译编译器得到结果
编译编译器,在编译过程中输出hello world
成功