Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

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

Ouverte
#2,120 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
5/5
Temps estimé
Plus d'une semaine
Accessibilité débutants
25/100
Type d'issue
Fonctionnalité
Clarté
À clarifier
Activité
Active
Stack technique
csharp

Piste de recherche

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.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

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

Langage dominant
C#
Étoiles
831
Forks
79
Merge moyen
1 h 24 min
PR mergées (30 j)
543

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de ASC-Community/AngouriMath

Toutes les issues de ASC-Community/AngouriMath

Issues similaires

Plus d'issues C#

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.