How to avoid this wasm linkage warning?

I have some imported functions in my WASM code like this

#[link(wasm_import_module = "ModuleA")]
extern "system" {
    #[link_name = "name"]
    fn f2158(_: u32, _: i32) -> f32;
}

#[link(wasm_import_module = "ModuleB")]
extern "system" {
    #[link_name = "name"]
    fn f2158(_: u32,) -> f32;
}

And the compiler gives a warning like this

warning: `f2158` redeclares `name` with a different signature
  • Should this warning be fixed?
  • If not, how to tell the compiler to ignore this?

I can't reproduce this warning when putting both extern blocks in separate modules: Compiler Explorer I had to put them in separate modules as having both extern blocks in the same module will result in an error due to both declaring the same name f2158.

By the way extern "system" is kind of useless on wasm. On all systems except windows it is equivalent to extern "C".

My mistake. This code did not compile on wasm target