| //! Make sure that line debuginfo of function parameters are correct even if | |
| //! they are not on the same line. Regression test for | |
| // <https://github.com/rust-lang/rust/issues/45010>. | |
| //@ compile-flags: -g -Copt-level=0 | |
| #[rustfmt::skip] // Having parameters on different lines is crucial for this test. | |
| pub fn foo( | |
| x_parameter_not_in_std: i32, | |
| y_parameter_not_in_std: i32, | |
| ) -> i32 { | |
| x_parameter_not_in_std + y_parameter_not_in_std | |
| } | |
| fn main() { | |
| foo(42, 43); // Ensure `wasm32-wasip1` keeps `foo()` (even if `-Copt-level=0`) | |
| } | |
| // CHECK: !DILocalVariable(name: "x_parameter_not_in_std", arg: 1, | |
| // CHECK-SAME: line: 9 | |
| // CHECK: !DILocalVariable(name: "y_parameter_not_in_std", arg: 2, | |
| // CHECK-SAME: line: 10 |