Mark experimental API with .NET's [Experimental] attribute
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
- Domaine
- backend-api-design
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
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:
- Should experimental API carry
[Experimental], starting withPiecewiseOverbefore 2.7.0 ships? - 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
- Langage dominant
- C#
- Étoiles
- 831
- Forks
- 79
- Merge moyen
- 1 h 24 min
- PR mergées (30 j)
- 543
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de ASC-Community/AngouriMath
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
ASC-Community/AngouriMath#2131 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
ASC-Community/AngouriMath#1807 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
ASC-Community/AngouriMath#1692 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
ASC-Community/AngouriMath#1690 ·
Les mainteneurs répondent en général sous 1 jour
-
Organization-level managementOuverte
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
ASC-Community/AngouriMath#1649 · 36 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de ASC-Community/AngouriMath
Issues similaires
-
Bug
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
Les mainteneurs répondent en général sous 1 jour
-
good first issue help wanted
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
-
untriaged
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
dotnet/dotnet-api-docs#13210 ·
Les mainteneurs répondent en général sous 1 jour
-
aspnet-core/svc doc-enhancement mvc/subsvc Pri2
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
dotnet/AspNetCore.Docs#38016 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 64/100
HicServices/RDMP#2398 ·