question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Source overload breaks `match!`

See original GitHub issue

In https://github.com/demystifyfp/FsToolkit.ErrorHandling/pull/83 I started using the Source member to help with maintainability. However after using it in a work project, match! expressions became broken. @baronfel identified the issue in the F# compiler and have a PR open https://github.com/dotnet/fsharp/pull/9407.

This is just a tracking issue for the upstream problem so others can find this easily.

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:1
  • Comments:7

github_iconTop GitHub Comments

1reaction
baronfelcommented, Sep 20, 2021

@JohnTheGr8 I’d say that’s the correct way to think of it, yeah. Adding many Bind overloads like this library did previously may have made it feel more ‘open’, but it was a maintenance nightmare and also very hard to reason about what actually was happening in every possible case. With Source, the mental and technical overhead is greatly reduced, which should mean it’s easier for users as well! I think a good example of the type of code that this fixes is in this PR/Comment thread.

0reactions
JohnTheGr8commented, Sep 20, 2021

Thanks for taking the time to explain!

Read more comments on GitHub >

github_iconTop Results From Across the Web

What Causes Motor Overload?
We know overload is when the motor's available output torque doesn't match what is needed for the application. And we know how to...
Read more >
std::Invoke, No matching overloaded function found
I'm trying to create a thread that handles client-server communication using a socket in C++. The program throws an error. std::Invoke, No ...
Read more >
Motor Starter Basics: Starters, Contactors and Overloads
Overloads are designed to protect against prolonged overcurrent; Parts consist of: Current sensing device, Mechanism to break the circuit; Often have a time ......
Read more >
Forgive "No overload matches this call" for union-type ...
This eliminates a case where the compiler might reject an assignment, stating "No overload matches this call".
Read more >
Guide to Overload Protection Relays
Overload protection relays prevent motor damage by monitoring the current in the motor circuit and breaking the circuit when an electrical ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found