Overloading a generic method with the same name in different units
## Summary If I have two overloaded functions in a unit, FPC detects the the correct one but if I split them in two units, it will raise an error: _Error: Wrong number of parameters specified for call to "Test"_ ## System Information Lazarus 2.3.0 (rev main-2_3-1668-g34b3b9a49a) FPC 3.3.1 x86_64-win64-win32/win64 ## Example Project ```pascal unit Unit1; {$mode Delphi} interface function Test(const A: Rawbytestring): Integer; overload; implementation function Test(const A: Rawbytestring): Integer; begin end; end. ``` ```pascal unit Unit2; {$mode Delphi} interface function Test<T>(const A: TArray<T>): Integer; overload; implementation function Test<T>(const A: TArray<T>): Integer; begin end; end. ``` ```pascal program Project1; {$mode Delphi} uses unit1, unit2; var S: Rawbytestring; I: Integer; begin I := Test(S); end. ``` ## What is the expected (correct) behavior? Detect the correct overload. Related issues: #38083 and #39680. Maybe it is related to 90844c2027e078fcc1ff6b8d3df911a77bac2ed3
issue