Skip to content

Tooling updates#37031

Merged
peppy merged 9 commits intoppy:masterfrom
bdach:tooling-updates
Mar 18, 2026
Merged

Tooling updates#37031
peppy merged 9 commits intoppy:masterfrom
bdach:tooling-updates

Conversation

@bdach
Copy link
Copy Markdown
Collaborator

@bdach bdach commented Mar 18, 2026

Most of this is as everywhere else, but there's also interesting code inspection fixes from the InspectCode bump, so I'll talk about that a little.

Fix suspicious equality in Hotkey

Inspection: https://www.jetbrains.com/help/resharper/TypeWithSuspiciousEqualityIsUsedInRecord.Global.html

Pretty annoying to fix, nullable array types are a pain. Does look legit though.

Fix StarDifficulty using inefficient struct equality

Inspection: https://www.jetbrains.com/help/resharper/DefaultStructEqualityIsUsed.Global.html

This is a dodgy one because there's no real sane way to define equality on StarDifficulty now that it has difficulty and performance attributes jammed into it. So I just basically shut the inspection up with a record modifier and move on.

Unclear where the equality is used precisely. It's from a global inspection. F12 is very unhelpful when trying to track down usages of Equals(). We definitely have Bindable<StarDifficulty> instances and those do use equality. Maybe more than that.

Use nameof expressions to reference enum member names

Inspection: https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryRemovingWithSingleCall.html

Pretty quaint.

Prefer using concrete values over default or new()

Inspection: https://www.jetbrains.com/help/resharper/PreferConcreteValueOverDefault.html

I could see this one going both ways, but I'm kinda sold on this inspection. Explicit is always better. Saves some allocations in the CancellationToken cases as well.

Explicitly call .AsEnumerable() in some realm usages

Inspection: https://www.jetbrains.com/help/resharper/PossibleUnintendedQueryableAsEnumerable.html

Not fully sold on this one but it's quick and simple so might as well.

Simplify dictionary removal with single .Remove() call

Inspection: https://www.jetbrains.com/help/resharper/CanSimplifyDictionaryRemovingWithSingleCall.html

Not much to say.

bdach added 9 commits March 18, 2026 12:05
To combat Node 20 deprecation warnings.

Some actions we use (`maxnowack/local-cache` and
`thollander/actions-comment-pull-request`) don't have the required
updates yet.
- `jb` updated to match CI.
- `nvika` removed.
Inspection: https://www.jetbrains.com/help/resharper/DefaultStructEqualityIsUsed.Global.html

This is a dodgy one because there's no real sane way to define equality
on `StarDifficulty` now that it has difficulty and performance
attributes jammed into it. So I just basically shut the inspection up
with a `record` modifier and move on.
Inspection: https://www.jetbrains.com/help/resharper/PreferConcreteValueOverDefault.html

I could see this one going both ways, but I'm kinda sold on this
inspection. Explicit is always better. Saves some allocations in the
`CancellationToken` cases as well.
@bdach bdach self-assigned this Mar 18, 2026
@github-advanced-security
Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@peppy peppy self-requested a review March 18, 2026 14:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants