#rust #compiler-warnings
#Ржавчина #предупреждения компилятора
Вопрос:
В чем разница между
#[allow(dead_code)]
// ...some code
и
#[allow(unused)]
// ...some code
Ответ №1:
dead_code
является ли один конкретный линт, который определяется как:
declare_lint! {
pub DEAD_CODE,
Warn,
"detect unused, unexported items"
}
unused
это группа линтов, состоящая из dead_code
и многих других линтов. Он определяется как:
add_lint_group!(
"unused",
UNUSED_IMPORTS,
UNUSED_VARIABLES,
UNUSED_ASSIGNMENTS,
DEAD_CODE,
UNUSED_MUT,
UNREACHABLE_CODE,
UNREACHABLE_PATTERNS,
OVERLAPPING_PATTERNS,
UNUSED_MUST_USE,
UNUSED_UNSAFE,
PATH_STATEMENTS,
UNUSED_ATTRIBUTES,
UNUSED_MACROS,
UNUSED_ALLOCATION,
UNUSED_DOC_COMMENTS,
UNUSED_EXTERN_CRATES,
UNUSED_FEATURES,
UNUSED_LABELS,
UNUSED_PARENS,
UNUSED_BRACES,
REDUNDANT_SEMICOLONS
);
Комментарии:
1. Для тех, кто интересуется терминологией, «элементы» — это почти все, что может быть объявлено на уровне модуля: структуры, признаки, перечисления, функции, статика и т. Д.