Subject: bug#55355: TBD: inappropriate inlining, cmacro errors

From: Stefan Monnier <[email-masked]>
Date: Wed, 11 May 2022 16:22:23 -0400

>> (cl-defstruct (foo (:constructor foo<-list ((bar _ baz))))
>>   bar
>>   baz)
[...]
> Perhaps Stefan has some comments; added to the CCs.

Looks like another bug in `cl-defsubst`.

To the extent that I dislike this "destructuring args" in function
signatures, I'd recommend "if it hurts, don't do that".

You can probably work around the problem using the `:noinline` feature
added recently to `cl-defstruct`.  As for a fix, it's probably a small
matter of making `cl-defsubst` give up on inlining when the formal
arglist is "too complex".

        Stefan