luckyframework / luckyframework/avram
Avam::Operation.run can call itself recursively if passed a wrong argument type.
Nobody has claimed this yet.
- Dominant language
- Crystal
- Stars
- 183
- Forks
- 67
- PR merge metrics
- No merged PRs in 30d
Description
https://github.com/luckyframework/avram/blob/9a5a921bb05cc3031d9436d2fdc6927606314876/src/avram/operation.cr#L29
If the user passes `params` to `run`, and params *is not* Avram::Paramable because of a user error, this ends up recursively calling itself until the compiler emits a non-helpful error message.
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 at src/avram/operation.cr line 29, where Avam::Operation.run handles params. Reproduce the call with a params value that is not Avram::Paramable and inspect why overload resolution recurses. Done means the wrong argument type produces a useful compiler error instead of recursive self-calls.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- crystal
- Domain
- database
- Issue type
- Bug
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100