Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Report malformed Object::Pad BUILD declarations clearly

Ouverte
#1,808 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
Une demi-journée
Accessibilité débutants
45/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
Active
Stack technique
java, perl
Domaine
compilers

Piste de recherche

Start with the class-block parser in the Perl front end, where BUILD is recognized and where a missing block body falls through into expression parsing. Reproduce with class BadBuild { BUILD method value {} } under use Object::Pad; and confirm the current unblessed-reference error. Done when that input yields a targeted syntax diagnostic, out-of-class BUILD gets coverage, and valid BUILD blocks still pass the existing Object::Pad tests.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Context

PR #1804 added support for valid Object::Pad BUILD { ... } blocks, including execution after field initialization, and passed the CAD::OpenSCAD 0.14 acceptance tests on both JVM and interpreter backends. The original parser failure is fixed.

Remaining diagnostic gap

Malformed or misplaced BUILD syntax should receive a focused compile-time diagnostic. Today, an incomplete class block can fall through into ordinary expression parsing and fail later with a confusing runtime error.

For example, against the merged implementation:

use Object::Pad;
class BadBuild { BUILD method value {} }

currently reports Can't call method "value" on unblessed reference instead of identifying the malformed BUILD declaration.

Follow-up

  • Detect BUILD in a class block when it is not followed by a block body and report a targeted syntax diagnostic.
  • Add project-owned coverage for malformed and out-of-class BUILD declarations.
  • Keep valid Object::Pad BUILD blocks and their constructor behavior unchanged.

Related: #1450, PR #1804.

Langage dominant
Perl
Étoiles
64
Forks
7
Merge moyen
5 h 31 min
PR mergées (30 j)
214

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de fglock/PerlOnJava

Toutes les issues de fglock/PerlOnJava

Issues similaires

Plus d'issues Perl

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.