Repository navigation
chore(deps): update dependency imposter to 0.2.0 - #6982
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configuration
📒 Files selected for processing (1)
Included review availability: This review used your included allowance. Your plan provides up to 8 included reviews per hour; 7 remain after this review. 📝 WalkthroughWalkthroughThe centrally managed ChangesPackage version update
Priority: ⬇️ Low Estimated code review effort: 1 (Trivial) | ~2 minutes Change: Other Suggested reviewers: Merge Risk: ⚪ Minimal · up to No concrete compatibility issue is established for this version update, so no material merge risk remains. 🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. A rabbit checks the version line, Comment |
|
This PR contains the following updates:
0.1.11→0.2.0Release Notes
themidnightgospel/Imposter (Imposter)
v0.2.0: Generator performance, deterministic file names, indexer and async fixesCompare Source
Fixes
Generic method calls no longer slow down over time (#61, closes #60). An unconfigured call to a generic method stored a new imposter that could never match, and every later call scanned all of them. After a few thousand calls, each call cost about 0.5 ms. A miss now returns an imposter that is not stored, and the lookup is a plain loop instead of a LINQ chain.
Indexer keys are compared with
EqualityComparer<T>.Default(#63, closes #62). The generated indexer arguments compared keys with==. That caused two problems:==(CS0019).Equals, so the default indexer behaviour could not read back a value stored under an equal key.Async methods are recognised on netstandard2.0 and .NET Framework (#65, closes #64).
Task,Task<T>andValueTask<T>were only recognised when they came fromSystem.Runtime,System.Private.CoreLibormscorlib. On netstandard2.0, and forValueTask<T>on .NET Framework, the builders lackedReturnsAsync/ThrowsAsync. Task types are now detected by name and namespace.Cancelled builds no longer report a generator crash (#75, closes #74). A build cancelled while an imposter was being generated reported IMP005. The IDE then kept a result without the imposter until the next edit. Cancellation now propagates.
Generated file names no longer depend on attribute order (#77, closes #76). Two targets with the same name in different namespaces got
IFooImposter.g.csandIFooImposter_1.g.csin processing order, so reordering the attributes swapped the files. Each file is now named after its fully qualified target, e.g.Sample.IFooImposter.g.cs, orImposters.Sample.IFooImposter.g.csfor the dedicated namespace.Performance
NormalizeWhitespace.Changes to generated output
EmitCompilerGeneratedFiles, they now appear under the new names.Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.