Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Parser rejects valid `return sort map` in Mojolicious 9.49

Aperta
#1,506 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
java, perl

Direzione di ricerca

The issue is in the parser's diagnostic logic for the return statement, likely in the file handling the commit d4ebdd9b4. Start by examining the parser's grammar for return and the diagnostic for indirect map/grep arguments. The failing code is in Mojo/Loader.pm line 37. Write a test that reproduces the error with return sort map ... and ensure the diagnostic only triggers for return map/grep ... without an intervening list operator like sort.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

bug

Summary

PerlOnJava cannot load Mojolicious 9.49 because the parser rejects valid Perl in Mojo::Loader::find_packages:

return sort map { /^(.+)::$/ ? "${ns}::$1" : () } keys %{"${ns}::"};

The error is:

Missing comma after first argument to return

This causes WebService-Rollbar-Notifier 1.002011 to fail its load tests.

Reproduction

Archived CPAN run: 20260924-085657-82687

Target distribution: WebService-Rollbar-Notifier-1.002011

The target fails 2 of 3 tests in t/00-load.t while loading Mojo::UserAgent and WebService::Rollbar::Notifier. The failure reproduces on both the JVM and interpreter backends.

A minimal load reproducer is:

PERL5LIB=<Mojolicious-lib> ./jperl -MMojo::Loader -e 'print "loaded\\n"'
PERL5LIB=<Mojolicious-lib> ./jperl --interpreter -MMojo::Loader -e 'print "loaded\\n"'

Both report the diagnostic at Mojo/Loader.pm line 37. System Perl loads the same module successfully.

Expected behavior

Mojo::Loader should compile successfully. System Perl passes Mojolicious 9.49's complete suite (4,194 tests) and the Rollbar distribution's 5 tests.

Suspected cause

The regression appears related to the indirect return map/grep diagnostic added in commit d4ebdd9b4 (fix: diagnose indirect map arguments to return). The diagnostic logic appears to treat return sort map ... as an invalid indirect map argument, although the intervening sort makes this valid Perl.

Requested fix

Restrict the diagnostic to actual indirect return NAME map/grep ... forms while preserving valid list operators such as return sort map .... Add a focused regression test for the Mojolicious expression and retain the existing diagnostic coverage.

Lingua principale
Perl
Stelle
64
Fork
6
Merge medio
5h 38m
PR unite (30g)
170

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di fglock/PerlOnJava

Tutte le issue di fglock/PerlOnJava

Issue simili

Altre issue su Perl

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.