Interpreter fails Type::Library extends during BEGIN
Les mainteneurs répondent en général sous 1 jour
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 58/100
Piste de recherche
Start with the minimal probe and run it using ./jperl --interpreter probe.pl, then compare its behavior with system Perl and JVM PerlOnJava. Trace interpreter handling of the package @ISA changes made by Type::Library -base before Type::Utils::extends performs its caller isa('Type::Library') check. Done means the probe and Dancer2's Dancer2/Core/Types.pm initialize without the Not a type library error on the interpreter backend.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Summary
Dancer2 cannot load on the interpreter backend because its Dancer2::Core::Types type library fails during BEGIN { extends "Types::Standard" } with Not a type library.
Reproduction
package Probe::Types;
use strict;
use warnings;
use Type::Library -base;
use Type::Utils -all;
BEGIN { extends 'Types::Standard' }
print "loaded\n";
Run with ./jperl --interpreter probe.pl. The JVM backend and system Perl load this successfully; the interpreter reports Not a type library at the extends call. Dancer2's Dancer2/Core/Types.pm uses this same pattern and fails at its corresponding line 10.
Root cause
Type::Utils::extends checks that its caller isa('Type::Library'). Type::Library -base installs Type::Library in the caller package's @ISA during module setup. The interpreter does not expose that inheritance to the subsequent isa check in the same BEGIN block, although the JVM backend does. This prevents Dancer2's type library from initializing, so Dancer2 is not currently usable on the interpreter backend.
Evidence
use Type::Library -basealone succeeds under the interpreter.- The minimal
extends 'Types::Standard'reproducer fails only under the interpreter. - The equivalent probe succeeds under JVM PerlOnJava and system Perl.
- Langage dominant
- Perl
- Étoiles
- 64
- Forks
- 7
- Merge moyen
- 5 h 8 min
- PR mergées (30 j)
- 193
Préparer son environnement
- Fournit un Dockerfile ou un fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de fglock/PerlOnJava
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
fglock/PerlOnJava#1651 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
fglock/PerlOnJava#1579 ·
Les mainteneurs répondent en général sous 1 jour
-
area:cpan-port area:unicode bug
Difficulté 2/5 1-3 heures Accessibilité débutants 88/100
fglock/PerlOnJava#1341 ·
Les mainteneurs répondent en général sous 1 jour
-
HTTP::Cookies extraction drops Expires and SameSite attributesPeut-être pris @fglock l’a pris aujourd’hui. Ouvertearea:cpan-port bug
Difficulté 3/5 1-2 jours Accessibilité débutants 35/100
fglock/PerlOnJava#1743 ·
Les mainteneurs répondent en général sous 1 jour
-
Bundled HTTP::Cookies is missing clear()Peut-être pris @fglock l’a pris aujourd’hui. Ouvertearea:cpan-port bug
Difficulté 2/5 1-3 heures Accessibilité débutants 20/100
fglock/PerlOnJava#1742 ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de fglock/PerlOnJava
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
objectionary/eolang.sty#197 ·
Les mainteneurs répondent en général sous 2 jours
-
chore: remove unused .gemini configuration directoryPeut-être pris @JayadityaGit l’a pris il y a 1 jour. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 85/100
openfoodfacts/openfoodfacts-server#14878 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
radiator-software/p5-net-ssleay#577 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
beyondgrep/website#143 ·
-
CPAN install failingOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
sous-chefs/perl#110 · 1 commentaire ·