Closed Hsilgos closed 2 years ago
Also affects Dart. Does not affect Java or C++.
Fails to compile with the internal Dart build. If the parent interface contains overloaded functions, the "new" code fails to properly disambiguate those in FFI. Probably affects Swift/CBridge in the same way.
When interface is declared in one framework A in lime file and derived in different framework B it leads to compilation error because generated derived class in Swift is trying to use cbridge functions for interface (which are in framework A). Test which represent the issue is here: https://github.com/heremaps/gluecodium/pull/1311 Gluecodum generates protocol
CommonMainBase
in frameworkModuleWithMainAndCommon
:and class
MainDerived
in other dependant frameworkObjectWithMainOnly
:So derived class uses cbridge functions prefixed with
unit_test_CommonMainBase_
which are in frameworkModuleWithMainAndCommon
and not accessible.Since each such function is lightweight the easiest solution is to duplicate such functions for each derived class.