fn test_SPCOV_051_skip_trait_item() {
let code = r#"
trait Greet { fn hello(&self); }
fn main() { let x = 1; }
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_052_impl_block_methods() {
let code = r#"
struct Counter { value: i32 }
impl Counter {
fn increment(&self) {
self.value += 1;
}
}
fn main() { let x = 1; }
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_053_self_receiver_skipped() {
let code = r#"
struct Foo {}
impl Foo {
fn bar(&self) {
println!("bar");
}
}
fn main() { let x = 1; }
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_054_return_void() {
let code = r#"
fn do_nothing() {
return;
}
fn main() { do_nothing(); }
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_055_eprintln_macro() {
let code = r#"
fn main() {
eprintln!("error: {}", "bad");
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_056_print_macro() {
let code = r#"
fn main() {
print!("no newline");
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_057_unsupported_macro_error() {
let code = r#"
fn main() {
dbg!("test");
}
"#;
parse_err(code);
}
#[test]
fn test_SPCOV_058_let_if_expr_simple() {
let code = r#"
fn main() {
let x = 5;
let r = if x > 3 { "big" } else { "small" };
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_059_let_if_expr_multi_stmt() {
let code = r#"
fn main() {
let x = 5;
let r = if x > 3 {
let tmp = "big";
tmp
} else {
"small"
};
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_060_index_expression() {
let code = r#"
fn main() {
let arr = [1, 2, 3];
let first = arr[0];
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_061_reference_expression() {
let code = r#"
fn main() {
let arr = [1, 2, 3];
let r = &arr;
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_062_deref_expression() {
let code = r#"
fn main() {
let x = 5;
let y = *x;
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_063_neg_int_literal() {
let code = r#"
fn main() {
let x = -42;
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_064_neg_i32_min() {
let code = r#"
fn main() {
let x = -2147483648;
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_065_positional_args() {
let code = r#"
fn main() {
let args: Vec<String> = std::env::args().collect();
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_066_bool_literal() {
let code = r#"
fn main() {
let t = true;
let f = false;
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_067_u16_suffix() {
let code = r#"
fn main() {
let port = 8080u16;
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_068_inclusive_range() {
let code = r#"
fn main() {
for i in 0..=5 {
println!("{}", i);
}
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_069_let_if_nested_else_if() {
let code = r#"
fn main() {
let x = 5;
let r = if x > 10 {
"big"
} else if x > 5 {
"medium"
} else {
"small"
};
}
"#;
parse_ok(code);
}
#[test]
fn test_SPCOV_070_format_specifier() {
let code = r#"
fn main() {
let val = 42;
let msg = format!("{:02x}", val);
}
"#;
parse_ok(code);
}