`Tracking` F# AOT, Trimmability, ILLink
- Dominant language
- F#
- Stars
- 4.3k
- Forks
- 876
- Avg merge
- 4d 11h
- Merged PRs (30d)
- 131
Description
> **Note**
> This is a "meta" issue for tracking purposes, since GitHub does not support special types of issues.
> @kant2002 I've converted it to the tracking issue, if you don't mind.
Original description
AOT and trimmability is around the corner, and FSharp has issues with some of these technologies. There visible issues with NativeAOT, but I suspect R2R may AOT less code due to these issues or maybe trimmer keep more code.
**Describe the solution you'd like**
I would like to create action plan of known issues for NativeAOT and trimmability of generated FSharp code to have smaller steps toward F# ❤️ AOT goal. I would like that reflection-free mode of NativeAOT, as opposed to normal NativeAOT mode where reflection working would be also considered.
**Describe alternatives you've considered**
Seems to be https://github.com/fsharp/fslang-suggestions/issues/919 reach some conclusion, so I think we should go to action.
Also I consider target just NativeAOT with reflection (default), but seems to be having no-reflection is easy way to uncover issues with trimmability and unnecessary reflection usage in app. I consider that approach more of technique to find issues faster, plus I may have smaller app.
**Open issues**
- [ ] https://github.com/dotnet/fsharp/issues/14355
- [x] https://github.com/dotnet/fsharp/issues/14873
- [ ] `printf` usage requires a lot of rd.xml boilerplate, like it shows [here](https://github.com/kant2002/RdXmlLibrary/blob/main/FSharp.Core.xml).
- [ ] `FSharp.Core.OptimizedClosures.FSharpFunc` has recusive [generics](https://github.com/fsharp/fslang-suggestions/issues/919#issuecomment-1136951429) (?)
- [ ] `printf "%А"` does not work in reflection-free mode. There preliminary work here https://github.com/dotnet/fsharp/pull/12960
- [ ] Interpolated strings like `$"{x}"` breaks in reflection-free mode.
- [x] https://github.com/dotnet/fsharp/issues/12819
- [ ] https://github.com/dotnet/fsharp/issues/6329
- [x] https://github.com/dotnet/fsharp/issues/9283
Contributor guide
Assessment
This issue has not been assessed yet.