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

Replace OrderedDictionary from Microsoft.Experimental.Collections with the BCL type in .NET 9+ #43

Open
alexrp opened this issue Jun 12, 2022 · 4 comments
Assignees
Labels
area: build Issues related to the build system. area: formats Issues related to the file format APIs. state: blocked Issues that are blocked on some other issue/work. type: feature Issues that are classified as feature requests.
Milestone

Comments

@alexrp
Copy link
Sponsor Member

alexrp commented Jun 12, 2022

<!-- TODO: Find a replacement for Microsoft.Collections.Extensions. -->
<NoWarn>NU5104</NoWarn>

<ItemGroup>
<PackageReference Include="Microsoft.Experimental.Collections" />
</ItemGroup>

@alexrp alexrp added state: approved Feature requests and housekeeping tasks that have been approved. type: housekeeping Issues that are classified as cleanup or refactoring work. area: build Issues related to the build system. area: formats Issues related to the file format APIs. labels Jun 12, 2022
@alexrp alexrp added this to the v3.0 milestone Jun 12, 2022
@alexrp alexrp self-assigned this Jun 12, 2022
@alexrp
Copy link
Sponsor Member Author

alexrp commented Sep 23, 2022

@alexrp alexrp changed the title Find a replacement for OrderedDictionary from Microsoft.Collections.Extensions Find a replacement for OrderedDictionary from Microsoft.Experimental.Collections Aug 3, 2023
@alexrp alexrp modified the milestones: v3.0, v4.0 Aug 17, 2023
@alexrp alexrp added state: deliberation Issues that require considerable deliberation and/or discussion before a resolution can be found. and removed state: approved Feature requests and housekeeping tasks that have been approved. labels Dec 12, 2023
@alexrp
Copy link
Sponsor Member Author

alexrp commented Dec 12, 2023

It may be worth considering simply not using an ordered dictionary here. When writing the data center file, attributes get sorted anyway. So, creating a data center in memory, writing it, and reading it back, the attributes will not have the same order as they did in memory during creation. It's not clear that using an ordered dictionary here actually adds much value.

Moving this for consideration in v2.0.

@alexrp alexrp modified the milestones: v4.0, v2.0 Dec 12, 2023
@alexrp
Copy link
Sponsor Member Author

alexrp commented Dec 13, 2023

Postponing after all. A major issue is that unpacking a data center would result in 'random' attribute order, whereas right now, attributes are ordered as they appear in the data center, which results in a mostly (though not always) intuitive order.

We could order attributes explicitly by key status and name, but that won't cover all cases well.

@alexrp alexrp removed their assignment Jan 27, 2024
@alexrp
Copy link
Sponsor Member Author

alexrp commented Apr 26, 2024

Good news: dotnet/runtime#24826 is now on track to being implemented.

We will do this when we bump our minimum TFM to net10.0.

@alexrp alexrp added state: blocked Issues that are blocked on some other issue/work. and removed state: deliberation Issues that require considerable deliberation and/or discussion before a resolution can be found. labels Apr 26, 2024
@alexrp alexrp self-assigned this Apr 26, 2024
@alexrp alexrp modified the milestones: Future, v4.0 Apr 26, 2024
@alexrp alexrp changed the title Find a replacement for OrderedDictionary from Microsoft.Experimental.Collections Replace OrderedDictionary from Microsoft.Experimental.Collections with BCL OrderedDictionary in .NET 9+ Apr 26, 2024
@alexrp alexrp changed the title Replace OrderedDictionary from Microsoft.Experimental.Collections with BCL OrderedDictionary in .NET 9+ Replace OrderedDictionary from Microsoft.Experimental.Collections with the BCL type in .NET 9+ Apr 26, 2024
@alexrp alexrp added type: feature Issues that are classified as feature requests. and removed type: housekeeping Issues that are classified as cleanup or refactoring work. labels Apr 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: build Issues related to the build system. area: formats Issues related to the file format APIs. state: blocked Issues that are blocked on some other issue/work. type: feature Issues that are classified as feature requests.
Development

No branches or pull requests

1 participant