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

`invalid-name-notation` does not check a name bound with `>>`

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

Maintainers usually reply within 2 days

@StanislavKozachenko is already working on this.

Since Oct 28, 2026.

  • #1610 by @StanislavKozachenko — open

Assessment

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

Research direction

Read names/invalid-name-notation.xsl:15 and compare how design/broad-scope.xsl:35 and design/misplaced-dataization.xsl:20 select names. Use the reproduction pack in packs/single/invalid-name-notation/ to check the case where the bound name is in @local; done means it reports one warning at line 3, matching the stated naming rule.

Written by the indexing model from the issue text.

Description

bug

names/invalid-name-notation.xsl:15 checks @name only. The parser puts a name bound with >> into @local and writes an auto-name such as a🌵3-2 into @name, which eo:special() skips. So a name after >> is never checked.

Steps to reproduce

On master 8c3474dc6eb341cb4968c8dd299ca2b0dba151c0, a pack in packs/single/invalid-name-notation/:

sheets:
  - /org/eolang/lints/names/invalid-name-notation.xsl
defects: 1
input: |
  [x] > app
    x.plus my_value > @
    x.times 2 >> my_value

The XMIR holds <o base="ξ.x.times" local="my_value" name="a🌵3-2" ...>.

Actual result

No defect.

Expected result

One invalid-name-notation warning at line 3, as for the same program with x.times 2 > my_value, which is reported. The motive says "The name of any object must match the regular expression [a-z][a-z0-9]*(-[a-z0-9]+)*".

Other lints already read the name as (@local, @name)[1], e.g. design/broad-scope.xsl:35 and design/misplaced-dataization.xsl:20.

Dominant language
Java
Stars
14
Forks
41
Avg merge
2d 17h
Merged PRs (30d)
30

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.