rust/tests/ui/lint/unused/unused-doc-comments-edge-cases.rs
2024-04-18 20:42:19 +02:00

73 lines
1.3 KiB
Rust

#![deny(unused_doc_comments)]
fn doc_comment_on_match_arms(num: u8) -> bool {
match num {
3 => true,
/// useless doc comment
//~^ ERROR: unused doc comment
_ => false,
}
}
fn doc_comment_between_if_else(num: u8) -> bool {
if num == 3 {
true //~ ERROR: mismatched types
}
/// useless doc comment
else { //~ ERROR: expected expression, found keyword `else`
false
}
}
fn doc_comment_on_expr(num: u8) -> bool {
(/// useless doc comment
//~^ ERROR: attributes on expressions are experimental
//~| ERROR: unused doc comment
num) == 3
}
fn doc_comment_on_expr_field() -> bool {
struct S { foo: i32 }
let x = S {
/// useless doc comment
//~^ ERROR: unused doc comment
foo: 3
};
true
}
fn doc_comment_on_pat_field() -> bool {
struct S { foo: i32 }
let S {
/// useless doc comment
//~^ ERROR: unused doc comment
foo
} = S {
foo: 3
};
true
}
fn doc_comment_on_generic<#[doc = "x"] T>(val: T) {}
//~^ ERROR: unused doc comment
fn doc_comment_on_block() {
/// unused doc comment
//~^ ERROR: unused doc comment
{
let x = 12;
}
}
/// unused doc comment
//~^ ERROR: unused doc comment
extern "C" {
fn foo();
}
fn main() {}