Subject: Re: bug#49404: Cross module inlining causes unbound make-struct/no-tail ref
From: Rob Browning <[email-masked]>
To: [email-masked]
Date: Sun, 12 Jan 2025 12:30:52 -0600
List-Id: <debbugs-submit.debbugs.gnu.org>

Rob Browning <[email-masked]> writes:

> This commit casuses lokke's compilation to fail:
>
>   commit fd5cb457fb3a450b4b14eb89c8dbd764ba8df52e
>   Date:   Mon Apr 5 20:58:03 2021 +0200
>
>       Implement cross-module inlining
>
>       * module/language/tree-il/optimize.scm (make-optimizer): Pass
>       cross-module-inlining? to peval.
>       * module/language/tree-il/peval.scm (peval): Add cross-module-inlining?
>       kwarg.  Try to inline public module-ref.
>
> The failure looks like this (after applying the patch mentioned in
> https://debbugs.gnu.org/49305 so we can get past the #nil issue):

[...]

>   ice-9/boot-9.scm:1685:16: In procedure raise-exception:
>   Unbound variable: make-struct/no-tail

I suspect this has been fixedq and I can no longer reproduce it --
though I'm not certain lokke didn't also change in some relevant way.

In any case, I'll close it for now and we can re-open it if necessary.
I also suspect this may have been related:

  commit d01ab7bf5cb97264b48bec96469360f1901d1a35
  Author: Andy Wingo <[email-masked]>
  Date:   Mon Jan 17 21:07:22 2022 +0100

      Fix inlinable-exports bug for pure modules

      * module/language/tree-il/inlinable-exports.scm (compute-decoder): Fix
      bug in which inlinable exports in a pure module would have a missing
      make-struct/no-tail binding.

Thanks
-- 
Rob Browning
rlb @defaultvalue.org and @debian.org
GPG as of 2011-07-10 E6A9 DA3C C9FD 1FF8 C676 D2C4 C0F0 39E9 ED1B 597A
GPG as of 2002-11-03 14DD 432F AE39 534D B592 F9A0 25C8 D377 8C7E 73A4