From 75ea41ae51200ab26d84c418f08859a784a71b85 Mon Sep 17 00:00:00 2001 From: "Paul \"LeoNerd\" Evans" Date: Sun, 5 Mar 2023 12:40:19 +0000 Subject: Have newATTRSUB() call class_wrap_method_body() if CVf_IsMETHOD --- class.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'class.c') 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; } -- cgit v1.2.1