Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge "first-class Span types" feature into main #74732

Merged
merged 25 commits into from
Oct 10, 2024

Conversation

jjonescz
Copy link
Member

@jjonescz jjonescz commented Aug 13, 2024

Test plan: #73445

jjonescz added 16 commits June 13, 2024 13:54
* Add standard implicit array-to-Span conversions

* Mitigate breaks in bootstrapped Roslyn

* Add more tests

* Improve code

* Extend tests

* Use implicit conversion instead of constructor

* Improve code and tests

* Update tests

* Extend tests

* Extend tests

* Extend tests

* Extend tests
* Add standard implicit array-to-Span conversions

* Mitigate breaks in bootstrapped Roslyn

* Add more tests

* Improve code

* Extend tests

* Use implicit conversion instead of constructor

* Improve code and tests

* Update tests

* Prefer implicit span conversions

* Extend tests

* Extend tests

* Extend tests

* Update new tests after merge

* Revert "Mitigate breaks in bootstrapped Roslyn"

This reverts commit a9556fa.

* Mitigate remaining bootstrap break

* Fix another instance of the same bootstrap break
Merge 'main' into features/FirstClassSpan
* Ignore user-defined Span conversions

* Add a PROTOTYPE comment

* Improve comments and tests
* Switch implicit span to conversion from type

* Revert bootstrap build break mitigation

* Improve code and tests

* Simplify code
* Handle span conversions in expression trees

* Improve test readability

* Consolidate tests
* Use CreateCompilationWithSpanAndMemoryExtensions

* Fix span source

* Update tests on netcore

* Avoid problems with string to ReadOnlySpan<T>

* Use new span source

* Revert "Avoid problems with string to ReadOnlySpan<T>"

This reverts commit 2e98bd2.

* Special-case a test
* Avoid span conversion in delegate extension receiver

* Remove some bootstrap build break mitigation

* Update comment
…#74587)

* Disallow span conversions between spans which are not structs

* Require ref struct
* Implement remaining span conversions

* Simplify assert

* Test more Span UDCs

* Only ignore UDCs exactly matching compiler-defined conversions

* Simplify code

* Remove a redundant test

* Extend tests

* Require public MemoryExtensions
* Add span type inference

* Simplify collection expression test helpers

* Improve tests
@dotnet-issue-labeler dotnet-issue-labeler bot added Area-Compilers untriaged Issues and PRs which have not yet been triaged by a lead labels Aug 13, 2024
@dotnet-policy-service dotnet-policy-service bot added VSCode Needs API Review Needs to be reviewed by the API review council labels Aug 13, 2024
* Test more breaking changes

* Document the main breaking changes

* Improve the doc
* Add `Enumerable.Reverse(this T[])` polyfill

* Remove the extension method in .NET 10

Keeping it as non-extension for binary compatibility.
* Fix null coalescing operator emit with span conversion

* Simplify check
@jjonescz jjonescz marked this pull request as ready for review October 10, 2024 10:35
@jjonescz jjonescz requested review from a team as code owners October 10, 2024 10:35
@jjonescz
Copy link
Member Author

@cston @333fred @jaredpar

@jjonescz jjonescz merged commit b564dc6 into dotnet:main Oct 10, 2024
38 checks passed
@jjonescz jjonescz deleted the FirstClassSpan-17-Main branch October 10, 2024 18:28
@dotnet-policy-service dotnet-policy-service bot added this to the Next milestone Oct 10, 2024
@akhera99 akhera99 modified the milestones: Next, 17.13 P1 Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area-Compilers Feature - First-class Span Types Needs API Review Needs to be reviewed by the API review council untriaged Issues and PRs which have not yet been triaged by a lead VSCode
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants