Repository navigation
Update the docs for the fixes to issues #63 to #94 - #112
Merged
Merged
Conversation
The warnings and limits that described the defects are removed or corrected, and the pages now describe the behavior of PRs #95 to #111. DM0023, DM0024 and DM0025 get entries in the diagnostics reference. The package description of DependencyModules.SourceGenerator.Impl no longer tells the reader to add CSharpAuthor. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
…re DM0022 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Owner
Author
|
I added a commit, 7dcfe2a, for the change I made to #108. The factories that |
ipjohnson
added a commit
that referenced
this pull request
Sep 24, 2026
…113) * Rewrite the README and documentation in Simplified Technical English The new text follows ASD-STE100 Issue 9. It was written from the source code, not from the previous documentation. All C# samples compile, and the samples that can run were run. A separate review checked each claim against the source. This removes the pages guide/scanning, guide/testing-registrations, reference/conventions-api, and reference/interfaces. It adds guide/testing-container-source and reference/api. The nine package descriptions are also rewritten. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Point .git-blame-ignore-revs at the CSharpier commit on main 79a2881 is not in the history of main. The squash merge of #62 made d7a1a82, which is the reformat commit on main. With the old hash, git blame still gave 53 lines of ModuleEnvironment.cs to the reformat. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Update the docs for the fixes to issues #63 to #94 (#112) * Update the docs for the fixes to issues #63 to #94 The warnings and limits that described the defects are removed or corrected, and the pages now describe the behavior of PRs #95 to #111. DM0023, DM0024 and DM0025 get entries in the diagnostics reference. The package description of DependencyModules.SourceGenerator.Impl no longer tells the reader to add CSharpAuthor. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Describe Implementation decorators with generated factories, and retire DM0022 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Ian Johnson <ianjohnson@mac.mynetworksettings.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Document three service registration limits found during the fixes A keyed factory method, TryEnumerable for a registration whose implementation is its service type, and a class with only internal constructors all fail at run time with no diagnostic. No issue tracks them yet. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> * Restore the CSharpAuthor packing in DependencyModules.SourceGenerator.Impl The merge of main took this branch's whole project file to keep its description, which dropped what #103 added: GeneratePathProperty on CSharpAuthor and the items that pack its sources. The project file now matches main except for the description. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Ian Johnson <ianjohnson@mac.mynetworksettings.com> Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
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.
The pages on
docs-ste-rewritenow describe the behavior after the fix PRs. The warnings and limits that described the defects are removed or corrected. All changed text is in ASD-STE100.This PR assumes that the open fix PRs #104 to #111 merge as they are. PRs #95 to #103 are already on main.
Changes per issue
services.mdloses its cross-wire warning box. The cross-wire section now covers keys, the shared registration type, declared interfaces from all partial declarations, DM0024, and factory methods.attributes.mdupdates[CrossWireService]and itsKeyandUsingrows.conventions.mdloses theWithKeywarning box.conventions.mdis replaced by a sentence about DM0014.diagnostics.mdDM0014 covers conventions.conventions.mdnow uses symbol access and the constructor rule that depends on generated factories.diagnostics.mdDM0006 is rewritten.services.mdnow names DM0023. The DM0023 entry is new, andtroubleshooting.mdlists it as a cause.modules.mdupdates module parameters, module equality, and the DM0003 and DM0017 text.attributes.mdupdates the generated attribute.getting-started.mdloses CS0260.diagnostics.mdupdates DM0003 and DM0018.interception.mdaddsref structreturn types to the list. It replaces the warning with the remaining limit, a type parameter withallows ref struct.decorators.mdnow covers the service type through base classes and interfaces, the constructor access, and DM0025.attributes.mdupdates theServicerow. The DM0025 entry is new.services.md,decorators.md,interception.mdandconventions.md. The Convention calls drop non-constant arguments silently when another argument is constant #75 paragraph inconventions.mdnow says that one argument that is not a constant gives DM0009.decorators.md,environments.md,conventions.mdandattributes.mdnow say that[Decorate]decorators and classes fromInAssemblyOf<T>()keep their environment attributes. DM0012 lists its new sites.interception.mdstates the new rule. The wrapper changes only a registration whose implementation is the class.modules.mdanddiagnostics.mdDM0019 cover qualified names. A declaredApplicationModulenow loads theProgram.csmodules.msbuild.mddescribes member-level[ExcludeFromCodeCoverage].extending.mdsays thatcoverageAttributeOnMethodis obsolete.troubleshooting.mdupdates the failure text, the log file names and theglobal-file names.diagnostics.mdDM0001 is rewritten.testing-xunit.mdrow traits.testing-nunit.mdcoversTestNameper row, and theNotRunnablemessage for NUnit's own data attributes.testing-mocking.mdanddiagnostics.mdDM0021 no longer report the two exceptions.testing-container-source.mdcovers keyed registrations and theCreateAsync()exception.extending.mdloses the CSharpAuthor steps and gets a note for version 1.5.0 and before. Themsbuild.mdsource package row and theDependencyModules.SourceGenerator.Implpackage description say that the CSharpAuthor sources are included.api.mdsays that theInternalmembers have[EditorBrowsable(EditorBrowsableState.Never)].For the reviewer
[Decorator(Implementation = ...)]: Intercept only the registration the intercepted class makes #108 changes the filter inDecoratorHelper.Decorate, andDecoratorFileWritercalls that overload for a decorator that setsImplementation. Thus the decorator no longer changes a factory registration that returnsobject. Under generated factories, it would change none of them. DM0022's message on that branch still says that the decorator would wrap every registration. Intercept only the registration the intercepted class makes #108's tests do not cover a decorator withImplementation. I did not changedecorators.md("Decorate one implementation") or the DM0022 entry. They describe the behavior before Intercept only the registration the intercepted class makes #108 until that question is settled.<Description>line on main. Merging this branch into main conflicts on that line. Keep this branch's version.extending.md: the sample now usesDependencyModules.SourceGenerator.Implversion 1.6.0, because 1.5.0 has no CSharpAuthor sources. Change it if the next release gets a different number.Verified
npm ciandnpm run buildinwebsite/: the build completes, so there is no dead link.🤖 Generated with Claude Code