Mark experimental API with .NET's [Experimental] attribute
Maintainer antworten meist innerhalb von 1 Tag
Dieses Issue hat noch niemand übernommen.
Bewertung
- Schwierigkeit
- 5/5
- Geschätzter Aufwand
- Über eine Woche
- Anfängerfreundlichkeit
- 25/100
- Issue-Typ
- Feature
- Klarheit
- Muss geklärt werden
- Aktivitätsstatus
- Aktiv
- Tech-Stack
- csharp
- Bereich
- backend-api-design
Rechercherichtung
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.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
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
- Vorherrschende Sprache
- C#
- Sterne
- 831
- Forks
- 79
- Ø Merge
- 1 Std. 24 Min.
- Gemergte PRs (30 T.)
- 543
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Keine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus ASC-Community/AngouriMath
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
ASC-Community/AngouriMath#2131 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
ASC-Community/AngouriMath#1807 · 3 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
ASC-Community/AngouriMath#1692 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 30/100
ASC-Community/AngouriMath#1690 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 5/5 Über eine Woche Anfängerfreundlichkeit 25/100
ASC-Community/AngouriMath#1649 · 36 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
Alle Issues in ASC-Community/AngouriMath
Ähnliche Issues
-
good first issue
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 88/100
madeyoga/AuthEndpoints#365 ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 76/100
majorsilence/Reporting#493 ·
Maintainer antworten meist innerhalb von 1 Tag
-
area: backend enhancement payments
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 66/100
Maintainer antworten meist innerhalb von 1 Tag
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 79/100
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 84/100
Maintainer antworten meist innerhalb von 4 Tagen