Skip to content

Developers can use Generic Math without enabling preview features #63548

@jeffhandley

Description

@jeffhandley

In .NET 7, we will stabilize the API surface area and implementations for Generic Math features.

Prerequisites

  • Ensure the C++/CLI compatibility issue with static abstracts in interfaces has been addressed
    • Partner with the WPF team to ensure that fix has been integrated and validated
  • Confirm Native AOT scenarios work with static abstract interface members on primitive types
  • Confirm Mono AOT scenarios work with static abstract interface members on primitive types

Work Items

Language Features

Acceptance Criteria

  • Present the feature set at the MVP summit to solicit feedback (@MadsTorgersen)
  • Consider moving the advanced interfaces into a namespace other than System
  • Consider making interface implementations implicit
  • Reference APIs are integrated into System.Runtime without the need for the System.Runtime.Experimental package installation
  • The [RequiresPreviewFeatures] attribute is removed from all Generic Math APIs
  • Propose and implement a Roslyn Analyzer for spotting IntPtr vs. nint behavioral differences to highlight the altered behavior
  • Partner with ecosystem package authors to garner feedback on the APIs
  • Validate usability in F#
  • Author a blog post / demo

Community Validation

The following community members and products will be contacted for validation of compatibility with this feature set. We will aim for validation from them before Preview 4 ships.

  • ILSpy
  • dotPeek
  • source.dot.net
  • Unity
  • Profilers

Metadata

Metadata

Labels

Cost:XLWork that requires one engineer more than 4 weeksPriority:1Work that is critical for the release, but we could probably ship withoutTeam:LibrariesUser StoryA single user-facing feature. Can be grouped under an epic.area-System.Numerics

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions