Repository navigation
fix(trim): clear IL2087 and IL2073 so the 7.3.2 NativeAOT build passes - #159
Merged
Merged
Conversation
SyncRowEnumerator boxed value-type models through RuntimeHelpers.GetUninitializedObject(typeof(T)), which needs constructor annotations on T; RuntimeHelpers.Box carries no trimming requirement and also boxes Nullable<T> correctly. SheetDataReader.TypeOf now carries the same DynamicallyAccessedMembers annotation as the GetFieldType it feeds. Both broke builds that enable the trim and AOT analyzers on Core, such as the NativeAOT publishes. (cherry picked from commit b51be5f)
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #159 +/- ##
==========================================
- Coverage 92.11% 92.10% -0.01%
==========================================
Files 285 285
Lines 23284 23282 -2
Branches 3771 3771
==========================================
- Hits 21448 21445 -3
- Misses 1247 1248 +1
Partials 589 589
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The 7.3.2 release failed before publishing anything. Two bug-hunt fixes tripped the trim analyzers, which the NativeAOT publishes turn on for
ExcelReader.Corewith warnings as errors.RuntimeHelpers.Boxalso boxesNullable<T>correctly, which the raw write did not guarantee.Evidence
dotnet build src/ExcelReader.Core -c Release -p:EnableTrimAnalyzer=true -p:EnableAotAnalyzer=truefails with IL2087 (SyncRowEnumerator.cs:60) and IL2073 (SheetDataReader.cs:208), the same two errors as the release job.After: 0 errors.
python python/scripts/build_native.py(the step that failed) publishesExcelReader.Native.dllwith no IL warnings. Test suite: 4020 / 4020.Merge Danger
Door: two-way. Two internal edits, with no public API or behavior change.
Blast Radius: none.
After merge,
v7.3.2is re-tagged on the merge commit and the release re-runs. Nothing from the failed run reached NuGet, PyPI or crates.io.