Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Mark experimental API with .NET's [Experimental] attribute

Aperta
#2,120 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
25/100
Tipo di issue
Funzionalità
Chiarezza
Da chiarire
Stato di attività
Attiva
Stack tecnologico
csharp

Direzione di ricerca

Start by comparing PiecewiseOver from #2102 with the experimental members published in 2.6.0 and review item 3 of #1019. Decide whether experimental APIs should use .NET's [Experimental] attribute and whether they should share a diagnostic ID. The issue is complete when those policy questions are resolved; implementation scope depends on the decision.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Opinions wanted

amcli mcp marks a preliminary tool where a model reads it (#2113). The library's experimental API has nothing like it: MathS.ExperimentalFeatures says so in its name and its doc comment, and a caller's build never mentions it.

.NET has a marker for this, [Experimental("<id>")] in System.Diagnostics.CodeAnalysis. Measured with SDK 10.0.302, a member marked [Experimental("AM0001")] gives:

caller result
C#, net10.0 error AM0001: "… is for evaluation purposes only and is subject to change or removal in future updates. Suppress this diagnostic to proceed."
C#, netstandard2.0, with the attribute defined internally in the library's netstandard2.0 build the same error
F#, net10.0 warning FS0057, "This construct is experimental"; the build succeeds

A C# caller opts in with #pragma warning disable AM0001 or <NoWarn>.

  • Additive: PiecewiseOver (#2102) is new in 2.7.0 and not yet released, so marking it breaks nobody. Experimental members added later would be marked from the start.
  • Breaking: the eleven members published in 2.6.0. Marking them fails every C# caller's build until the caller suppresses the diagnostic. Whether each is promoted, kept or removed is item 3 of #1019, so marking them belongs there.

Questions:

  1. Should experimental API carry [Experimental], starting with PiecewiseOver before 2.7.0 ships?
  2. One diagnostic ID for all of it, or one per feature, so that opting into one doesn't opt into the rest?

🤖 Generated with Claude Code

https://claude.ai/code/session_012sonx8iAspMiwRwokT1Ura

Lingua principale
C#
Stelle
831
Fork
79
Merge medio
1h 24m
PR unite (30g)
540

Preparare l'ambiente

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ASC-Community/AngouriMath

Tutte le issue di ASC-Community/AngouriMath

Issue simili

Altre issue su C#

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.