summaryrefslogtreecommitdiff
path: root/class.c
diff options
context:
space:
mode:
Diffstat (limited to 'class.c')
-rw-r--r--class.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/class.c b/class.c
index 5a3938139d..4a1d83d615 100644
--- a/class.c
+++ b/class.c
@@ -792,7 +792,11 @@ Perl_class_seal_stash(pTHX_ HV *stash)
ops = op_append_list(OP_LINESEQ, ops, fieldop);
}
+ /* initfields CV should not get class_wrap_method_body() called on its
+ * body. pretend it isn't a method for now */
+ CvIsMETHOD_off(PL_compcv);
CV *initfields = newATTRSUB(floor_ix, NULL, NULL, NULL, ops);
+ CvIsMETHOD_on(initfields);
aux->xhv_class_initfields_cv = initfields;
}