Subject: bug#74771: Native compilation bug with struct predicates when lexical binding enabled (HEAD)

From: Pip Cet <[email-masked]>
Date: Tue, 10 Dec 2024 22:12:03 +0000

Pip Cet <[email-masked]> writes:

> IIUC, the code blindly assumes that cond-jump would use t as its second
> argument.  In your code, the second argument was nil, so the assumptions
> were put into the wrong basic blocks.

I did not understand correctly.  It seems cond-jump is still limited to
a nil second argument, which is an undocumented assumption that comp.el
continues to rely on.

I still think comp--emit-assume does the wrong thing when negating an
assumption, but we've been there before...

Pip