fsprojects / fsprojects/FSharpLint
Reraise firing too agressively
Open
Nobody has claimed this yet.
needs-info
- Dominant language
- F#
- Stars
- 327
- Forks
- 74
- PR merge metrics
- No merged PRs in 30d
Description
The feature #509 incorrectly picks raise-exceptions outside try-block, so if you do this:
let ex : Exception = gotMyExceptionFromSomewhere()
raise ex
Then FSharpLint says you should reraise instead, but if you do, the compiler gives error:
error FS0413: Calls to 'reraise' may only occur directly in a handler of a try-with
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reviewing feature #509 and reproducing the F# snippet in the issue, then trace the rule that recommends reraise for raise calls. Done means the rule no longer reports raise outside a try-with handler, while its intended behavior inside handlers remains covered by the relevant tests.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- fsharp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100