Description
I declare in my Swift module two entities - swift class and function, that returns instance of that class. In Swift header they are in wrong order, so C++ function doesn't compile with "incomplete return type" error
Steps to reproduce
Swift code:
import Foundation
public class SwiftSideInterfaceBridge
{
public func Callback() -> String
{
return "Some string"
}
}
public func GetSwiftInterface() -> SwiftSideInterfaceBridge
{
return SwiftSideInterfaceBridge()
}
Error log:
/Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5279:20 Unknown type name 'SwiftSideInterfaceBridge'
/Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5279:45 incomplete result type 'SwiftSideInterfaceBridge' in function definition
/Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5280:10 no member named '_impl_SwiftSideInterfaceBridge' in namespace 'Fibonacci::_impl'; did you mean 'SwiftSideInterfaceBridge'?
/Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5280:17 No member named '_impl_SwiftSideInterfaceBridge' in namespace 'Fibonacci::_impl'
/Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5280:17 incomplete type 'Fibonacci::SwiftSideInterfaceBridge' named in nested name specifier
Expected behavior
Entities in Fibonacci-Swift.h should be in reverse order
Description I declare in my Swift module two entities - swift class and function, that returns instance of that class. In Swift header they are in wrong order, so C++ function doesn't compile with "incomplete return type" error
Steps to reproduce Swift code:
import Foundation
Generated Fibonacci-Swift.h file
Error log: /Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5279:20 Unknown type name 'SwiftSideInterfaceBridge'
/Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5279:45 incomplete result type 'SwiftSideInterfaceBridge' in function definition
/Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5280:10 no member named '_impl_SwiftSideInterfaceBridge' in namespace 'Fibonacci::_impl'; did you mean 'SwiftSideInterfaceBridge'?
/Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5280:17 No member named '_impl_SwiftSideInterfaceBridge' in namespace 'Fibonacci::_impl'
/Users/ga.igumnov/Library/Developer/Xcode/DerivedData/Swift-and-Cplusplus-mixed-FibonacciFramework-eugjhlmqeyxtxedokyptdvqagwbn/Build/Products/Debug/Fibonacci.framework/Headers/Fibonacci-Swift.h:5280:17 incomplete type 'Fibonacci::SwiftSideInterfaceBridge' named in nested name specifier
Expected behavior Entities in Fibonacci-Swift.h should be in reverse order
Environment Swift 5.9, XCode 15 Beta
InteropTest.zip Fibonacci-Swift.h.zip