Hi, With the attached source file, Emacs miscompiles the struct predicate such that a repeated call to the predicate on a non-struct object returns t. This occurs with current HEAD on Linux/AMD64, but not on the Emacs 30.0.92 pretest. It does not occur when the lexical binding cookie is not present. % /opt/emacs/bin/emacs -Q --batch --eval "(load (native-compile \"/tmp/bug.el\"))" -f run Loading /home/emarsden/.emacs.d/eln-cache/31.0.50-c021c983/bug-59c4b27c-c70072f9.eln (native compiled elisp)... Running in GNU Emacs 31.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.43, cairo version 1.18.2)  of 2024-12-09 is? nil is? t   ;; expecting nil bar: 111