Deviant Rust: как я могу отключить все возможные предупреждения и проверки?
Давайте предположим, что я хотел написать ужасный и злой код, скомпилированный с rustc
, Сколько проверок компилятора, проверок типов и предупреждений можно отключить без перекомпиляции Rust? И как мне это сделать?
Я ищу Perl эквивалент no warnings; no strict;
Очевидно, я знаю, что это не очень хороший совет. Я хочу понять параметры конфигурации rustc
веселый путь.
1 ответ
Вы должны заставить замолчать предупреждения, а также любые неиспользованные аргументы и т. Д. #![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)
});
}
Пожалуйста, не делай этого.