//! > Test tuples.

//! > test_runner_name
test_function_lowering(expect_diagnostics: false)

//! > function_code
fn foo() {
    let a = (1, 2);
    let (_x, _y) = immovable(a);
    let (_x, _y) = immovable((1, 2));
}

//! > function_name
foo

//! > module_code
#[inline(never)]
fn immovable<T>(t: T) -> T {
    t
}

//! > semantic_diagnostics

//! > lowering_diagnostics

//! > lowering_flat
Parameters:
blk0 (root):
Statements:
  (v0: core::felt252) <- 1
  (v1: core::felt252) <- 2
  (v2: (core::felt252, core::felt252)) <- struct_construct(v0, v1)
  (v3: (core::felt252, core::felt252)) <- test::immovable::<(core::felt252, core::felt252)>(v2)
  (v4: (core::felt252, core::felt252)) <- test::immovable::<(core::felt252, core::felt252)>(v2)
End:
  Return()
