@Joe_Groff Hi!
While I was fixing the rest of failing test suites, I found that another issue for ABI.
As described here, Swift ABI allows using non-generic function as generic function directly.
On WebAssembly runtime, this ABI causes signature mismatch between callee and caller.
Unlike throws and non-throws, this extra generic parameter doesn't have special attribute, so it's hard to lower them as I did for swifterror.
However as far as I investigated, there is only one use case for this ABI, only KeyPath uses it. I've patched to add extra parameter always to match signatures and this patch makes test/stdlib/KeyPath.swift
succeeded.
https://github.com/swiftwasm/swift/pull/252
Do you know other use cases of this optional generic parameter?
In addition, I found extra subscript indices are also passed optionally in KeyPath getter and setter, as same as generic parameter.
Does Swift5 ABI allow additional argument generally? Is this additional argument ABI used in other places?