`unused-alias` reports an alias that is used only in the type of an atom or a void
Maintainers usually reply within 2 days
@StanislavKozachenko is already working on this.
Since Oct 28, 2026.
- #1609 by @StanislavKozachenko — open
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 78/100
Research direction
Read aliases/unused-alias.xsl and the reproduction pack in packs/single/unused-alias/. Start by checking how the alias usage test handles @atom and @type alongside @base. Update the usage check so aliases referenced by atom and void attribute types count as used, then run the pack and confirm it reports zero defects.
Written by the indexing model from the issue text.
Description
aliases/unused-alias.xsl:15 counts an alias as used only when some o/@base equals it or starts with it:
<xsl:if test="count(//o[@base=$name or starts-with(@base, concat($name, '.'))])=0">
A type of an atom or of a void attribute is written to @atom and @type, not to @base. So an alias that is needed only there is reported as unused, though without it /thing resolves to Φ.thing, not to Φ.org.example.thing.
Steps to reproduce
On master 8c3474dc6eb341cb4968c8dd299ca2b0dba151c0, a pack in packs/single/unused-alias/:
sheets:
- /org/eolang/lints/aliases/unused-alias.xsl
defects: 0
input: |
+alias org.example.thing
+rt jvm org.example:thing:0.0.1
[] > app /thing
? > x /thing
The XMIR holds <o atom="Φ.org.example.thing" name="λ"/> and <o base="∅" name="x" type="Φ.org.example.thing"/>.
Actual result
<defect line="1" severity="error">The alias "Φ.org.example.thing" is not used, but defined as "thing⌴Φ.org.example.thing"</defect>
Expected result
No defect: the alias is used, in the type of the atom app and of the void x. With thing > @ instead of the atom, the same alias is not reported. The motive says "All defined object aliases must be used", and this one is.
- 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
- 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.
More from objectionary/lints
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
objectionary/lints#1613 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
objectionary/lints#1612 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
objectionary/lints#1611 ·
Maintainers usually reply within 2 days
-
`invalid-name-notation` does not check a name bound with `>>`Possibly taken @StanislavKozachenko claimed this 1 day ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
objectionary/lints#1608 ·
Maintainers usually reply within 2 days
-
`comment-is-too-wide` splits a comment at a literal `\n`, so it reports a wrong line or misses a wide onePossibly taken @StanislavKozachenko claimed this 2 days ago. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
objectionary/lints#1600 ·
Maintainers usually reply within 2 days
All issues in objectionary/lints
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
aws/context-ontology-accelerator#325 ·
Maintainers usually reply within 1 day
-
The README tells to run `mvn jeo:disassemble`, which fails with `No plugin found for prefix 'jeo'`Open
Difficulty 1/5 Under an hour Newbie friendliness 82/100
objectionary/jeo-maven-plugin#1938 ·
Maintainers usually reply within 2 days
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
oVirt/ovirt-engine#1219 ·
Maintainers usually reply within 1 day
-
pending:code-area pending:issue-category to-triage
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
area:core bug priority:p2
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
aomarai/minecraft-mcp#247 ·
Maintainers usually reply within 1 day