Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

SYSLIB1219 (and placeholder SYSLIB1218) missing from the options-validation source-generator diagnostics reference

Open Beginner friendly
#56,285 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Documentation
Clarity
Mostly clear
Activity status
Active
Tech stack
csharp
Domain
documentation

Research direction

Open docs/fundamentals/syslib-diagnostics/syslib1201-1219.md and inspect the existing diagnostics table and front matter. Verify SYSLIB1219 against Microsoft.Extensions.Options/gen/DiagDescriptors.cs, then confirm the intended treatment of reserved SYSLIB1218 with the runtime team. Done means the reference and keywords accurately reflect the supported diagnostics.

Written by the indexing model from the issue text.

Description

:watch: Not Triaged

Description

The options-validation source-generator diagnostics reference page's front matter (f1_keywords) already lists syslib1218 and syslib1219, but the description table only documents SYSLIB1201-SYSLIB1217. Two diagnostic IDs are undocumented:

  • SYSLIB1219 (AlreadyImplementsValidateAsyncMethod) - a new diagnostic introduced with async options-validation source generation (ValidateAsync emission for IAsyncValidateOptions<TOptions>), defined in DiagDescriptors.cs. It's the async counterpart to the existing SYSLIB1205 (AlreadyImplementsValidateMethod): the generator reports it when an attributed type already provides a handwritten ValidateAsync method matching the generated signature.
  • SYSLIB1218 - reserved as a keyword but not currently defined by any diagnostic descriptor in the Options source generator. Needs confirmation of intent (reserved for future use vs. removable from front matter).

Repro / evidence

  • Front matter lists both IDs: syslib1201-1219.md front matter
  • Table stops at SYSLIB1217: no rows for 1218/1219.
  • SYSLIB1219 diagnostic descriptor: Microsoft.Extensions.Options/gen/DiagDescriptors.cs, id: "SYSLIB1219", message SR.AlreadyImplementsValidateAsyncMethodMessage.

Suggested content

Add a table row:

Diagnostic ID Description
SYSLIB1219 A type already includes an implementation of the ValidateAsync method.

And either:

  • Add a SYSLIB1218 row once its purpose is confirmed with the runtime team, or
  • Remove syslib1218 from f1_keywords if it's unused/reserved and not meant to surface publicly yet.

Type of gap

Not a breaking change - SYSLIB1219 is a new diagnostic tied to a new generator capability (async Validate generation), not a change to previously working behavior. This is a plain content gap in an existing reference page.

Related

  • Async options-validation source generation: dotnet/runtime#130263
  • Related (already-addressed) breaking-change doc for the async validation contract unification: dotnet/docs#55794 / dotnet/docs#55901 (unrelated to this diagnostic gap)

This issue was drafted with assistance from GitHub Copilot.

Dominant language
No language data
Stars
4.8k
Forks
6.1k
Avg merge
12h 19m
Merged PRs (30d)
385

Getting set up

Open in Codespaces

Starts the project's dev container in your browser, under your own GitHub account.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from dotnet/docs

All issues in dotnet/docs

Similar issues

More Documentation issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.