Fix incorrect CA1065 → MA0072 equivalence mapping#1028
Merged
Conversation
Co-authored-by: meziantou <509220+meziantou@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Fix MA0072 incorrectly considered equivalent to CA1065
Fix incorrect CA1065 → MA0072 equivalence mapping
Feb 21, 2026
meziantou
reviewed
Feb 21, 2026
This was referenced Feb 22, 2026
Open
This was referenced Feb 23, 2026
Open
IhateTrains
pushed a commit
to ParadoxGameConverters/ImperatorToCK3
that referenced
this pull request
Feb 23, 2026
Updated [Meziantou.Analyzer](https://github.com/meziantou/Meziantou.Analyzer) from 2.0.302 to 3.0.15. <details> <summary>Release notes</summary> _Sourced from [Meziantou.Analyzer's releases](https://github.com/meziantou/Meziantou.Analyzer/releases)._ ## 3.0.15 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.15> ## What's Changed * MA0183: Extend detection to Console.Write, Console.WriteLine, and StringBuilder.AppendFormat by @Copilot in meziantou/Meziantou.Analyzer#1042 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.14...3.0.15 ## 3.0.14 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.14> ## What's Changed * docs(MA0028): Remove incorrect AppendFormat optimization example by @Copilot in meziantou/Meziantou.Analyzer#1039 * docs: Document MA0158 as similar to IDE0330 by @Copilot in meziantou/Meziantou.Analyzer#1040 * MA0028: Detect StringBuilder.AppendFormat with no-placeholder format strings by @Copilot in meziantou/Meziantou.Analyzer#1041 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.13...3.0.14 ## 3.0.13 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.13> ## What's Changed * Fix incorrect CA1065 → MA0072 equivalence mapping by @Copilot in meziantou/Meziantou.Analyzer#1028 * Fix IDE0330 comparison incorrectly referencing MA0153 instead of MA0158 by @Copilot in meziantou/Meziantou.Analyzer#1036 * docs(MA0042): Document false positive when calling sync method from its own async counterpart by @Copilot in meziantou/Meziantou.Analyzer#1038 * Fix MA0158 not reported when lock field is initialized in constructor by @Copilot in meziantou/Meziantou.Analyzer#1037 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.12...3.0.13 ## 3.0.12 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.12> ## What's Changed * MA0056: Reclassify as "similar to" CA2214 and document differences by @Copilot in meziantou/Meziantou.Analyzer#1024 * Fix MA0027 not firing for derived exception types by @Copilot in meziantou/Meziantou.Analyzer#1026 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.11...3.0.12 ## 3.0.11 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.11> ## What's Changed * Reduce test fakiness with source generators by @meziantou in meziantou/Meziantou.Analyzer#1022 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.10...3.0.11 ## 3.0.10 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.10> ## What's Changed * Add test for implicit params array in AppendLine with AppendFormat by @meziantou in meziantou/Meziantou.Analyzer#1021 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.9...3.0.10 ## 3.0.9 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.9> ## What's Changed * MA0029: Suppress all Where().X() diagnostics on IQueryable by @Copilot in meziantou/Meziantou.Analyzer#1017 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.8...3.0.9 ## 3.0.8 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.8> ## What's Changed * Remove exception handling from WithSourceGeneratorsFromNuGet and document Roslyn version testing by @Copilot in meziantou/Meziantou.Analyzer#1015 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.7...3.0.8 ## 3.0.7 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.7> ## What's Changed * Fix MA0110 to handle property initializers by @Copilot in meziantou/Meziantou.Analyzer#1014 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.6...3.0.7 ## 3.0.6 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.6> ## What's Changed * MA0110: Suggest partial property before partial method by @Copilot in meziantou/Meziantou.Analyzer#1013 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.5...3.0.6 ## 3.0.5 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.5> ## What's Changed * MA0110: Support top-level statements by @Copilot in meziantou/Meziantou.Analyzer#1012 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.4...3.0.5 ## 3.0.4 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.4> ## What's Changed * MA0110: Remove field/variable when generating partial property code fix by @Copilot in meziantou/Meziantou.Analyzer#1011 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.3...3.0.4 ## 3.0.3 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.3> ## What's Changed * MA0110: Derive generated regex names from field/variable context by @Copilot in meziantou/Meziantou.Analyzer#1010 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.2...3.0.3 ## 3.0.2 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.2> ## What's Changed * Add partial property support for MA0110 Regex Source Generator by @Copilot in meziantou/Meziantou.Analyzer#1009 **Full Changelog**: meziantou/Meziantou.Analyzer@3.0.1...3.0.2 ## 3.0.1 NuGet package: <https://www.nuget.org/packages/Meziantou.Analyzer/3.0.1> ## What's Changed * Remove Roslyn 3.x support by @Copilot in meziantou/Meziantou.Analyzer#1007 **Full Changelog**: meziantou/Meziantou.Analyzer@2.0.302...3.0.1 Commits viewable in [compare view](meziantou/Meziantou.Analyzer@2.0.302...3.0.15). </details> [](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores) Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`. [//]: # (dependabot-automerge-start) [//]: # (dependabot-automerge-end) --- <details> <summary>Dependabot commands and options</summary> <br /> You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot show <dependency name> ignore conditions` will show all of the ignore conditions of the specified dependency - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself) </details> Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
This was referenced Feb 23, 2026
Open
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.
docs/comparison-with-other-analyzers.mdincorrectly listed MA0072 ("Do not throw from a finally block") as equivalent to CA1065 ("Do not raise exceptions in unexpected locations"). MA0072 is equivalent to CA2219 ("Do not raise exceptions in finally clauses"), which was already correctly mapped.Changes
docs/comparison-with-other-analyzers.md: Remove the erroneousCA1065 → MA0072row from the "Equivalent rules" table. The correct mappings remain intact:CA1065 → MA0086(DoNotThrowFromFinalizer)CA2219 → MA0072(DoNotThrowFromFinallyBlock)Original prompt
💬 We'd love your input! Share your thoughts on Copilot coding agent in our 2 minute survey.