Reveal internal but public identifiers and make them `private[cats]`
Nobody has claimed this yet.
- Dominant language
- Scala
- Stars
- 5.5k
- Forks
- 1.2k
- Avg merge
- 2d 10h
- Merged PRs (30d)
- 5
Description
There are several classes or other identifiers across Cats that were made public initially even though they are not supposed to be accessible outside of the library:
cats.kernel.instances.SeqMonoid- should only be exposed asMonoid[Seq](see initial discussion)- TBD
In order to simplify the migration and alleviate toil for users, it makes sense to consider a corresponding scalafix rule for that.
The issue is created just to don't forget about it.
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 the visibility of cats.kernel.instances.SeqMonoid and the linked discussion in pull request 4614. Identify the other public identifiers that should be private[cats], then determine the scope of a corresponding scalafix rule. Done means the intended identifiers and migration approach are agreed and documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- scala
- Domain
- backend-api-design, developer-experience
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100