Skip to content

Commit af9bcd9

Browse files
authored
Add struct instantiations to limitations section (#45987)
1 parent 94a0873 commit af9bcd9

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

docs/core/deploying/native-aot/index.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,6 +134,7 @@ Native AOT apps have the following limitations:
134134
- Implies compilation into a single file, which has known [incompatibilities](../single-file/overview.md#api-incompatibility).
135135
- Apps include required runtime libraries (just like [self-contained apps](../index.md#publish-self-contained), increasing their size as compared to framework-dependent apps).
136136
- <xref:System.Linq.Expressions> always use their interpreted form, which is slower than run-time generated compiled code.
137+
- Generic parameters substituted with struct type arguments will have specialized code generated for each instantiation. In the dynamic runtime, many instantiations are generated on-demand. In Native AOT, all instantiations are pre-generated. This can have significant impact to the disk size of the application. Generic virtual methods and generic instance methods will also have an instantiation for every implementing or overriding type.
137138
- Not all the runtime libraries are fully annotated to be Native AOT compatible. That is, some warnings in the runtime libraries aren't actionable by end developers.
138139
- [Diagnostic support for debugging and profiling](./diagnostics.md) with some limitations.
139140
- Support for some ASP.NET Core features. For more information, see [ASP.NET Core support for Native AOT](/aspnet/core/fundamentals/native-aot/).

0 commit comments

Comments
 (0)