Native interop: vararg support
- Dominant language
- C#
- Stars
- 451
- Forks
- 49
- Avg merge
- 13h 59m
- Merged PRs (30d)
- 6
Description
@kekyo mentioned some concerns he had during building of [chibicc-cil](https://github.com/kekyo/chibicc-cil), a project sharing some purposes with Cesium.
Here's a Fediverse thread: https://mastodon.sdf.org/@kekyo/113932383592543947
In short, one of the downsides was the lack of proper native vararg support in .NET on platforms other than Windows.
Related issue in .NET runtime: https://github.com/dotnet/runtime/issues/48796
If we want to enable full native interop in Cesium, then we'll have to do _something_ about this.
My current idea would be to include a custom marshaller, or native modules, or runtime machine code emit, and support for the common call conventions.
Whatever route we take, we could consider implementing this in a shared library for the other projects to reuse if they need.
Contributor guide
Assessment
This issue has not been assessed yet.