6

假设我想编写rustc. 我可以在不重新编译 Rust 的情况下禁用多少个编译器检查、类型检查和警告?我将如何去做呢?

我正在寻找 Perl 等价物no warnings; no strict;


显然我知道这不是一个好建议。我想了解rustc有趣的方式的配置选项。

4

1 回答 1

8

您应该使用 . 使警告和任何未使用的参数等静音#![allow(warnings, unused)]。但是,我不相信您可以禁用类型检查或其他编译错误:这样做与编译器的目的完全相反。您可能需要生成语法树,然后通过从源代码中删除行来删除任何错误,直到代码编译(或基于错误建议),类似于fuckitpy 的工作方式。

例如,要使所有警告静音等:

#![allow(warnings, unused)]

unsafe fn iHaTeReAdAbLeCoDe(arg: u8, unused_arg: u32) -> u8 {
    let x: i32;
    arg
}

pub fn main() {
    print!("{:?}", unsafe {

                iHaTeReAdAbLeCoDe(5, 0)
    });
}

请不要这样做。

于 2019-08-24T20:53:47.747 回答