Otherwise developers are going to have lots of pain manually writting JNI wrappers to 90% of Android APIs.
Likewise on Windows with COM support.
There is no support for integrated debugging, across languages on Android Studio and Visual Studio.
No support for COM or UWP and Win32 is WIP.
Not sure how much NDK APIs are actually wrapped.
VSCode debugger works fine on both msvc and mingw targets.
Asking for COM or UWP is like saying that Javascript has a horrible interop story with COM/UWP. You're picking Rust to build something fast and/or low memory. Leave building a UI to the right tools.
C# has a fantastic FFI and works just fine with Rust. I actually have a project using UWP and Rust together. I get all the portability of Rust and get to use UWP as the UI frontend with minimal fuss.
Picking up your example,how do you expose and debug UWP components?
Perhaps this is perception is just caused by e.g. the extremely low bar set by MinGW, which doesn't do any of that despite "supporting" Windows.
For example since Longhorn failure, COM has become the major way to introduce Windows APIs, since Vista Win32 doesn't get much love.
This is a good start, at least for Android hardware..
For the time being swift on Linux is a case of a few PaaS vendors trying to product differentiate by also offering swift frameworks because they can(due to modern container wrangling) more then due to any real market demand.
Of course UIKit will still be missing, but thats sort of expected.
I'm not saying that's entirely reasonable, but it exists.
”macOS, Ubuntu Linux LTS, and the latest Ubuntu Linux release are the current supported host development operating systems”
Also, on the page you reference:
”Note that all compiled Swift binaries are only executable within Bash on Windows and are Ubuntu, not Windows, executables.”
I believe that "supported" here means the test suites and CI are run on those platforms. More importantly, any regressions on those platforms would be considered bugs. However, there have been partial or complete ports to several other platforms, including some weird ones.
Aside from Apple platforms, I see code in-tree for Linux, CYGWIN, Windows, FreeBSD, PS4[0], Android, and Haiku[1] (a revived BeOS). And that's not some stray LLVM code, it's in the Swift compiler itself. I've read that there was/is an out-of-tree upstream port to some IBM mainframe hardware, as well.
A bit tangential to your original point, but I think it's interesting.
[0]https://github.com/apple/swift/commit/83901998c91f9242a133aa... [1]https://github.com/apple/swift/commit/aee81d272f3147c0a9b610...