]> git.ipfire.org Git - thirdparty/LuaJIT.git/commitdiff
Merge branch 'master' into v2.1
authorMike Pall <mike>
Tue, 24 Feb 2026 21:17:01 +0000 (22:17 +0100)
committerMike Pall <mike>
Tue, 24 Feb 2026 21:17:01 +0000 (22:17 +0100)
1  2 
src/lj_crecord.c

index 4f27cffe76f6aac10645ece7d6710b9f9e70e441,4adfefe6329f2b168f4c07caad70adbeed7d6983..4be36eca6db8b9f22e37ed0b0148e0ed862f229f
@@@ -895,15 -811,15 +895,17 @@@ again
          }
          J->base[0] = lj_ir_kint(J, (int32_t)fct->size);
          return;  /* Interpreter will throw for newindex. */
+       } else if (cd && cd->ctypeid == CTID_CTYPEID) {
+         /* Only resolve constants and metamethods for constructors. */
        } else if (ctype_isbitfield(fct->info)) {
 -        lj_trace_err(J, LJ_TRERR_NYICONV);
 +        if (ofs)
 +          ptr = emitir(IRT(IR_ADD, IRT_PTR), ptr, lj_ir_kintp(J, ofs));
 +        crec_index_bf(J, rd, ptr, fct->info);
 +        return;
        } else {
 -        lua_assert(ctype_isfield(fct->info));
 +        lj_assertJ(ctype_isfield(fct->info), "field expected");
          sid = ctype_cid(fct->info);
        }
 -      ofs += (ptrdiff_t)fofs;
        }
      } else if (ctype_iscomplex(ct->info)) {
        if (name->len == 2 &&