Skip to content

Add nullability guards to comparison overlay tasks#950

Merged
erikdarlingdata merged 1 commit intodevfrom
fix/correlated-lanes-null-guards
May 9, 2026
Merged

Add nullability guards to comparison overlay tasks#950
erikdarlingdata merged 1 commit intodevfrom
fix/correlated-lanes-null-guards

Conversation

@erikdarlingdata
Copy link
Copy Markdown
Owner

Summary

Three .Result.Select / .GroupBy calls in CorrelatedTimelineLanesControl.xaml.cs (Blocking line 187, Memory line 194, IO line 199) were missing the && Result != null guard the CPU and Wait branches at lines 177/181 already had.

Without the guard, a null result from _dataService.Get*TrendAsync would NRE on the subsequent .Select / .GroupBy. CS8604 only fired on two of the five because of how generic types differ; these three were latent.

Pick one nullability contract (the existing CPU/Wait pattern) and apply uniformly.

Test plan

  • Build Lite, open the correlated timeline panel
  • Drag the slicer to invoke a comparison range that previously rendered
  • Confirm Blocking, Memory, and File I/O ghost lines still render
  • If reachable: simulate a null result from one of the trend APIs and confirm no NRE

🤖 Generated with Claude Code

The Blocking, Memory, and IO branches in the comparison overlay
section of CorrelatedTimelineLanesControl were missing the
`&& Result != null` guard the CPU and Wait branches already had.
Apply uniformly so a null result from `_dataService.Get*TrendAsync`
can't NRE on the subsequent .Select / .GroupBy.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@erikdarlingdata erikdarlingdata merged commit 2a4a260 into dev May 9, 2026
2 checks passed
@erikdarlingdata erikdarlingdata deleted the fix/correlated-lanes-null-guards branch May 9, 2026 16:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant