Skip to content

Conversation

tw0po1nt
Copy link
Contributor

Proposed Changes

Added some code requested in #319

Types of changes

What types of changes does your code introduce to FsToolkit.ErrorHandling?
Put an x in the boxes that apply and remove ones that don't apply

  • Bugfix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.

  • Build and tests pass locally
  • I have added tests that prove my fix is effective or that my feature works (if appropriate)
  • I have added necessary documentation (if appropriate)

@tw0po1nt tw0po1nt force-pushed the task-value-option-ces branch from 98b1269 to dcefe9b Compare May 31, 2025 20:11
Copy link
Contributor Author

@tw0po1nt tw0po1nt left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

self-review done

@TheAngryByrd
Copy link
Collaborator

I did some updates around the build infrastructure in #331 so this might fix that build error if you can rebase

@tw0po1nt tw0po1nt force-pushed the task-value-option-ces branch from dcefe9b to 8d05b66 Compare June 2, 2025 01:49
@tw0po1nt
Copy link
Contributor Author

tw0po1nt commented Jun 2, 2025

@TheAngryByrd I rebased...looks like even more checks are failing now. Looks like it's complaining about nullness:

TaskValueOptionCE.fs(241,33): error FS3264: Nullness warning: Downcasting from 'objnull' into 'ICriticalNotifyCompletion' can introduce unexpected null values. Cast to 'ICriticalNotifyCompletion|null' instead or handle the null before downcasting.

It's strange, because it's not failing with that locally, either building via build.sh or through Rider.

@tw0po1nt
Copy link
Contributor Author

tw0po1nt commented Jun 2, 2025

Looks like I just needed to pull in some changes from the previous PR and apply them here. Should be good to go now.

@TheAngryByrd
Copy link
Collaborator

@TheAngryByrd I rebased...looks like even more checks are failing now. Looks like it's complaining about nullness:

TaskValueOptionCE.fs(241,33): error FS3264: Nullness warning: Downcasting from 'objnull' into 'ICriticalNotifyCompletion' can introduce unexpected null values. Cast to 'ICriticalNotifyCompletion|null' instead or handle the null before downcasting.

It's strange, because it's not failing with that locally, either building via build.sh or through Rider.

Yeah this was Nullness stuff being enforced in net9.0+ correctly.

Copy link
Collaborator

@TheAngryByrd TheAngryByrd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!!! 💯

@TheAngryByrd TheAngryByrd merged commit 9965d1f into demystifyfp:master Jun 2, 2025
26 checks passed
TheAngryByrd added a commit that referenced this pull request Jun 2, 2025
- BREAKING: [Remove Ply and update to FSharp 6](#248) Credits @TheAngryByrd
- BREAKING: [Remove MergeSources (and!) from some implementations like Result](#261)  Credits @TheAngryByrd
- BREAKING: [Merge TaskResult into Core library](#285) Credits @TheAngryByrd
- This means FsToolkit.ErrorHandling.TaskResult is no longer a separate package and will not be updated. It is now part of the core library.
- BREAKING: [Rename retn to singleton](#287) Credits @1eyewonder
- BREAKING: [Rename returnError to error + documentation](#311) Credits @tw0po1nt
- [Use Microsoft.Bcl.AsyncInterfaces in netstandard2.0 (Allows IAsyncDisposable and IAsyncEnumerable)](#250) Credits @TheAngryByrd
- [Build against Net8](#251) Credits @TheAngryByrd
- [Fix Overload Resolution to Align to Computation Expression used](#252) Credits @TheAngryByrd
- [refactor!: Seq.sequenceResultM returns Array instead of seq](#255) Credits @bartelink
- [feat(Seq): sequenceResultA](#255) Credits @bartelink
- [Updated uses of Seq.append](#290) Credits @1eyewonder
- [Add Option.traverseAsync and Option.sequenceAsync](#298 (comment)) Credits @tw0po1nt
- [Add Require and Check helper methods](#295) Credits @PI-Gorbo
- [Add new AsyncOption APIs and document all its other functions; minor fixes to documentation for Option module](#307) Credits @tw0po1nt
- [F# 9 support and nullness](#308) Credits @TheAngryByrd
- [Update IcedTasks 0.11.7](0a4cc7b) Credits @TheAngryByrd
- [Add TaskValidation module](#313) Credits @tw0po1nt
- [feat(Seq.traverse/sequence*)!: Yield arrays](#310) Credits @bartelink
- [Add ParallelAsync CEs](#318) Credits @njlr
- [Add Option.sequenceAsyncResult and Option.traverseAsyncResult](#321) Credits @JayWearsSocks
- [Add traversals/sequences for Task and TaskResult in the Option module](#325) Credits @tw0po1nt
- [Add ok and error helper functions to TaskResultOption and AsyncResultOption modules](#327) Credits @tw0po1nt
- [Add CancellableTaskOption module and CE + tests and documentation](#328) Credits @tw0po1nt
- [Remove paket, Enforce nullness on net9.0, remove mocha](#331) Credits @TheAngryByrd
- [Add TaskValueOption module, operators, and CE + tests and documentation](#329) Credits @tw0po1nt
TheAngryByrd added a commit that referenced this pull request Jun 2, 2025
- BREAKING: [Remove Ply and update to FSharp 6](#248) Credits @TheAngryByrd
- BREAKING: [Remove MergeSources (and!) from some implementations like Result](#261)  Credits @TheAngryByrd
- BREAKING: [Merge TaskResult into Core library](#285) Credits @TheAngryByrd
- This means FsToolkit.ErrorHandling.TaskResult is no longer a separate package and will not be updated. It is now part of the core library.
- BREAKING: [Rename retn to singleton](#287) Credits @1eyewonder
- BREAKING: [Rename returnError to error + documentation](#311) Credits @tw0po1nt
- [Use Microsoft.Bcl.AsyncInterfaces in netstandard2.0 (Allows IAsyncDisposable and IAsyncEnumerable)](#250) Credits @TheAngryByrd
- [Build against Net8](#251) Credits @TheAngryByrd
- [Fix Overload Resolution to Align to Computation Expression used](#252) Credits @TheAngryByrd
- [refactor!: Seq.sequenceResultM returns Array instead of seq](#255) Credits @bartelink
- [feat(Seq): sequenceResultA](#255) Credits @bartelink
- [Updated uses of Seq.append](#290) Credits @1eyewonder
- [Add Option.traverseAsync and Option.sequenceAsync](#298 (comment)) Credits @tw0po1nt
- [Add Require and Check helper methods](#295) Credits @PI-Gorbo
- [Add new AsyncOption APIs and document all its other functions; minor fixes to documentation for Option module](#307) Credits @tw0po1nt
- [F# 9 support and nullness](#308) Credits @TheAngryByrd
- [Update IcedTasks 0.11.7](0a4cc7b) Credits @TheAngryByrd
- [Add TaskValidation module](#313) Credits @tw0po1nt
- [feat(Seq.traverse/sequence*)!: Yield arrays](#310) Credits @bartelink
- [Add ParallelAsync CEs](#318) Credits @njlr
- [Add Option.sequenceAsyncResult and Option.traverseAsyncResult](#321) Credits @JayWearsSocks
- [Add traversals/sequences for Task and TaskResult in the Option module](#325) Credits @tw0po1nt
- [Add ok and error helper functions to TaskResultOption and AsyncResultOption modules](#327) Credits @tw0po1nt
- [Add CancellableTaskOption module and CE + tests and documentation](#328) Credits @tw0po1nt
- [Remove paket, Enforce nullness on net9.0, remove mocha](#331) Credits @TheAngryByrd
- [Add TaskValueOption module, operators, and CE + tests and documentation](#329) Credits @tw0po1nt
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.

2 participants