#![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]
fn test_tuple_in_vec_push_f32() {
let source = r#"
fn test() -> Vec<(i32, i32, f32)> {
let value: f32 = 1.0
let mut result: Vec<(i32, i32, f32)> = Vec::new()
result.push((1, 2, value * 1.5))
result
}
"#;
let rust_code = test_utils::compile_single(source);
assert!(
rust_code.contains("1.5_f32") || rust_code.contains("1.5f32"),
"1.5 in tuple push should be f32, got:\n{}",
rust_code
);
assert!(
!rust_code.contains("1.5_f64"),
"1.5 should NOT be f64 when pushing to Vec<(i32, i32, f32)>, got:\n{}",
rust_code
);
}