Skip to content

Update #1717 to post .NET 10#5528

Draft
lisandroct wants to merge 6 commits into
masterfrom
lisandro/update-1717
Draft

Update #1717 to post .NET 10#5528
lisandroct wants to merge 6 commits into
masterfrom
lisandro/update-1717

Conversation

@lisandroct

Copy link
Copy Markdown
Contributor

Description of Changes

Re-implements #1717 on top of latest master and .NET 10 support.

It adds IStructuralWrite for types that only need to be able to serialize themselves (in particular tagged enums). It cleans up things a little and models a real distinction between those types that can read and write themselves and those which can write only.

That being said, it also adds complexity and we're currently working around the "lack of" a write method by accessing the BSATN.Write methods. In practice, this PR saves us from calling new X.BSATN().Write(...).

I'm not sure what the initial intent of Ingvar was and if this was preparing the grounds for something else. If all we'll achieve is avoid some calls to BSATN.Write, I don't think I would move forward with this one.

API and ABI breaking changes

No breaking changes.

Expected complexity level and risk

  1. Not really risky.

Testing

  • All tests are still passing. No new functionality has been added.

@lisandroct
lisandroct marked this pull request as draft July 13, 2026 14:01
@lisandroct lisandroct changed the title Lisandro/update 1717 Update #1717 to post .NET 10 Jul 13, 2026
@lisandroct
lisandroct force-pushed the lisandro/update-1717 branch from 3522943 to 7d8bc31 Compare July 17, 2026 13:54
@lisandroct
lisandroct force-pushed the lisandro/update-1717 branch from 7d8bc31 to cde0a39 Compare July 17, 2026 19:33
@lisandroct
lisandroct force-pushed the lisandro/update-1717 branch from cde0a39 to 75589f9 Compare July 17, 2026 19:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant