Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

`Source.without()` doesn't flag non-existing lint names, causing silent failures

Open Beginner friendly
#1,545 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

@Thayorns is already working on this.

Since Oct 12, 2026.

  • #1549 by @Thayorns — open

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
72/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
java
Domain
tooling

Research direction

Read src/main/java/org/eolang/lints/Source.java and WithoutLints.java, then trace how LtIncorrectUnlint obtains the set of valid lint names. Check how Source.without() handles names that are not in that set. Done means unknown names cause an IllegalArgumentException that names them, while valid names continue to filter lints.

Written by the indexing model from the issue text.

Description

bug good-title

Source.without() in src/main/java/org/eolang/lints/Source.java:83 hands its names to MonoWithout, and WithoutLints (WithoutLints.java:39) only filters out the lints whose name is in the list. A name that matches no lint is dropped without a word, so a typo such as unit-test-misssing keeps the lint switched on, and the caller cannot tell why.

Inside a source the same mistake is caught: +unlint abracadabra is reported by incorrect-unlint, because LtIncorrectUnlint checks the name against the set of every lint name. The Java entry point has no such check, and there is no public way to get that set from outside the package, since MonoLintNames is package-private. This is what leaves objectionary/eo#9332 open: eo-maven-plugin passes skipSourceLints from the pom.xml straight to without() and logs "Unlinting source lints" even for names that do not exist.

without() could throw an IllegalArgumentException naming every unknown name it was given, using the same set of names that LtIncorrectUnlint already reads.

@yegor256 please take a look

Dominant language
Java
Stars
14
Forks
38
Avg merge
3d 18h
Merged PRs (30d)
37

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from objectionary/lints

All issues in objectionary/lints

Similar issues

More Java issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.