#![cfg(any(
not(any(
feature = "parser_tests",
feature = "analyzer_tests",
feature = "codegen_tests",
feature = "interpreter_tests",
feature = "conformance_tests",
feature = "integration_tests",
)),
feature = "analyzer_tests",
))]
#[path = "common/test_utils.rs"]
mod test_utils;
#[test]
#[cfg_attr(tarpaulin, ignore)]
fn test_method_no_self_access_should_borrow() {
let code = r#"
pub struct Helper {
data: string,
}
impl Helper {
pub fn format_label(self, label: string) -> string {
format!("Label: {}", label)
}
}
"#;
let (generated, success) = test_utils::compile_single_check(code);
let err = if !success { &generated } else { "" };
println!("Generated:\n{}", generated);
if !success {
println!("Compile error:\n{}", err);
}
assert!(success, "Compilation should succeed");
assert!(
generated.contains("fn format_label(&self"),
"format_label should be &self. Generated:\n{}",
generated
);
}