chore(lint): deliberately bump analyzers + fix new S8969 (redundant null-forgiving) findings #164
Labels
No labels
alpha:wave-0
alpha:wave-1
alpha:wave-2
alpha:wave-3
area:assets
area:combat
area:ecology
area:infra
area:render
area:scripting
area:ui
area:world
enhancement
epic
migration
post-alpha
roadmap
tech-debt
type:bug
type:chore
type:design
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
marco/IsoMmo#164
Loading…
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Deliberately bump the pinned analyzers and fix the findings the newer version surfaces.
Background
Analyzer versions are now pinned exactly in
Directory.Build.props(Roslynator.Analyzers 4.15.0,SonarAnalyzer.CSharp 10.29.0.143774) after a floating10.*pulled a newer SonarAnalyzer on CI that tightened S8969 ("remove the redundant null-forgiving!") and broke the build while local passed. Pinning restored reproducibility; this issue is the deliberate ratchet.Scope
SonarAnalyzer.CSharp(andRoslynator.Analyzers) to the latest, pinned exactly.!sites seen on the failing run:src/IsoMmo.Assets/AssetPack.cs:15tests/IsoMmo.Client.Core.Tests/Automation/DebugCommandTests.cs:13tests/IsoMmo.GameServer.Tests/Gameplay/CombatSkillTests.cs:51tests/IsoMmo.GameServer.Tests/Gameplay/WorldEntityViewsTests.cs:23,70tests/IsoMmo.GameServer.Tests/Gameplay/WorldTests.cs:90,97,718,1095,1099,1129,1143just lint+ whole-solution build are clean on the bumped version.Definition of Done
dotnet build IsoMmo.slnxis zero-warning.Implemented by #176. That PR bumps
SonarAnalyzer.CSharp10.29.0.143774 → 10.30.0.144632 and fixes every new finding — all the S8969 sites listed here, plus 2 that were false positives onTryXxxpass-throughs (AssetPack.TryGet,GameConnection.TryDequeue), fixed with[MaybeNullWhen(false)]instead of removing a!that was suppressing a real CS8601, plus one new S8949 (forward a CancellationToken). Whole solution builds 0 warnings; no suppressions/downgrades. Roslynator is already at the latest pinned 4.15.0 (Renovate has no newer PR open), so nothing to bump there. This issue can close when #176 merges.