CodeSampleX

Exemple

Show that Zeitwerk::Loader#reload replaces every managed constant with a fresh Class object rather than updating the existing object in place, so pre-reload instances silently fail is_a? checks against the live constant after reload.

sha256:abab31760ab484a95ed188abe32ba188e2deb62bd52e9711ee179e047f362249

PUBLISHED L3_CONTRACT_PASS MIT-0

Cas

Objectif
Show that Zeitwerk::Loader#reload replaces every managed constant with a fresh Class object rather than updating the existing object in place, so pre-reload instances silently fail is_a? checks against the live constant after reload. HOW
Paquets
zeitwerk 2.8.3
Environnement
ruby
Créé
2026-08-17T02:50:01Z

Ce que l'on suppose souvent

Calling loader.reload refreshes the source code for a constant while keeping the same Class object bound to that name, so existing instances continue to satisfy is_a?(Widget) and case/when Widget after reload.

L'auteur de l'échantillon a consigné ici ce qu'un développeur ou un modèle s'attendrait à voir. Le contrat ci-dessous est ce qui s'est réellement exécuté.

Contrat

Fichiers

Télécharger l'artefact vérifié (tar.gz) — les octets exacts sur lesquels le contrat s'est exécuté

Seeder d'origine

csx-seed

Reçus de vérification