- Notifications
You must be signed in to change notification settings - Fork248
Closed
Description
This is an issue to track the implementation progress of C# with the mono runtime as well as the Native ahead of time LLVM compiled implementation.
- Worlds
- Interfaces
- Functions
- Integers
- Floating point numbers
- Strings
- Mono runtime tests - Dependent on (If we don't want to create 2 completely separate implementations to be able to support mono)maybe create WASM module export from
[UnmanagedCallersOnly]dotnet/runtime#86985 andcreate WASM module import from any[DLLImport]which doesn't match known static native symbols dotnet/runtime#86984 - Native AoT LLVM runtime tests
- Results -(C#) - Basic types, Lists, Results & Variants #807
- Options
- List -(C#) - Basic types, Lists, Results & Variants #807
- Enum
- Records
- Flags
- Variants -(C#) - Basic types, Lists, Results & Variants #807
- Tuples
- Resources
- Handles
- Static Functions
- Methods
- c#: Usage instructions #1074
- c#: Put shared types in a C# lib - https://github.com/bytecodealliance/cm-dotnet #1073
- Runtime tests
- Code Generation tests
- Enabled skipped tests in
"conventions",
- Enabled skipped tests in
- bugs
- c#: dotnet Runtime not started correctly when using strings (or heap objects) as first call to exported function #777
- c#: projects with
<OutputType>Exe</OutputType>don't generatecabi_reallocwhen compiled #778 - return pointer alignment - in some cases get error might be related to[NativeAOT-LLVM] Fix a GC hole in the new LSSA implementation dotnet/runtimelab#2531 ((C#) - Basic types, Lists, Results & Variants #807)
- temporarily remove C#
variantsruntime test #963
future work:
- Streams
- Integration with GC proposal. Related:.NET Notes WebAssembly/gc#77,[wasm][post-MVP] garbage collection proposal in .NET dotnet/runtime#94420
- Exception handlinghttps://github.com/WebAssembly/exception-handling/tree/master
- Shared everything dynamic linkinghttps://github.com/WebAssembly/component-model/blob/9c43f51ebf775e8397469a744d97c8575a7b7386/design/mvp/examples/SharedEverythingDynamicLinking.md
Lower priority items:
- c#: namespacing to be idomatic c#. Right now things are a mix of lower and upper case #1075
- make options implementation use c# generics - Resolved in:(C#) - Basic types, Lists, Results & Variants #807
- c#: fix imports so they are only included if needed #1076
- c#: create a cli option to generate the csproj and replace that for the tests. #1077
- c#: only use version info if required #1078