From unknown Sat Jun 21 10:36:02 2025 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-Mailer: MIME-tools 5.509 (Entity 5.509) Content-Type: text/plain; charset=utf-8 From: bug#67785 <67785@debbugs.gnu.org> To: bug#67785 <67785@debbugs.gnu.org> Subject: Status: Unhelpful error message when a mandatory & innate field is missing after inheritance Reply-To: bug#67785 <67785@debbugs.gnu.org> Date: Sat, 21 Jun 2025 17:36:02 +0000 retitle 67785 Unhelpful error message when a mandatory & innate field is mi= ssing after inheritance reassign 67785 guix submitter 67785 Skyler Ferris severity 67785 normal thanks From debbugs-submit-bounces@debbugs.gnu.org Mon Dec 11 14:49:28 2023 Received: (at submit) by debbugs.gnu.org; 11 Dec 2023 19:49:28 +0000 Received: from localhost ([127.0.0.1]:54701 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCmHP-0000TP-P0 for submit@debbugs.gnu.org; Mon, 11 Dec 2023 14:49:28 -0500 Received: from lists.gnu.org ([2001:470:142::17]:56552) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rCmHM-0000T3-7x for submit@debbugs.gnu.org; Mon, 11 Dec 2023 14:49:26 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rCmGw-0008If-0O for bug-guix@gnu.org; Mon, 11 Dec 2023 14:48:58 -0500 Received: from mail-4322.protonmail.ch ([185.70.43.22]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rCmGs-0003cN-V5 for bug-guix@gnu.org; Mon, 11 Dec 2023 14:48:57 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=protonmail.com; s=protonmail3; t=1702324124; x=1702583324; bh=YUV8SoQPrxFNQUOkT+YPHO48AomZsfPEZk9/Y3bMOAs=; h=Date:To:From:Subject:Message-ID:Feedback-ID:From:To:Cc:Date: Subject:Reply-To:Feedback-ID:Message-ID:BIMI-Selector; b=pl5UgIVtPb+Bw+2rzpTR1/HIIDGHIemHNGPDJMJ5uYUyqb0dxMUt+HJuNrUcDMNdI WuBYfhzDENV5thwcj2ACf8CJNevefnbaS2IMZw2WE9VUmht3b5vFquj/ey+q4W/oii Om1+bfLKPXmYq0CpaXcpCt0hsXkvIQm2oKmAXrlyQoBwTrmGr3fwZ6vxnzRvhwpk4W hLkMtZjZd+mo4q5lmLCUfqgj0DtTefWx9XoQWmnZ5XuveSsrLlqJlsP7/H/lM+2F8D 4x9KWyhCzKH/hU0ajad4fjy4I7VQkD0Q3N7RtkRypy5hoqOp+8sYqlh3k/ybvlhsvG WCI7TpnxbilHQ== Date: Mon, 11 Dec 2023 19:48:31 +0000 To: bug-guix@gnu.org From: Skyler Ferris Subject: Unhelpful error message when a mandatory & innate field is missing after inheritance Message-ID: <1fee6c6b-74ec-4a2c-bf75-822c9ba88044@protonmail.com> Feedback-ID: 40635331:user:proton MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Received-SPF: pass client-ip=185.70.43.22; envelope-from=skyvine@protonmail.com; helo=mail-4322.protonmail.ch X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H5=0.001, RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.0 (/) Normally, when a field is missing Guix provides a helpful error message=20 explaining the precise problem: (define-record-type t make-t t? this-t =C2=A0 (mandatory-field t-mandatory-field)) (t) =3D> t: missing field initializers (mandatory-field) in form (t) However, if the field is innate, a value is inherited, and the mandatory=20 field is missing, the error message is not helpful: (define-record-type t make-t t? this-t =C2=A0 (mandatory-field t-mandatory-field) =C2=A0 (innate-mandatory-field t-innate-mandatory-field (innate)) (define base (t (mandatory-field #t) (innate-mandatory-field #t))) (t (inherit base)) =3D> Backtrace: =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 12 (primitive-load = "/tmp/test.scm") In ice-9/eval.scm: =C2=A0=C2=A0 721:20 11 (primitive-eval (t (inherit base))) In ice-9/psyntax.scm: =C2=A0 1229:36 10 (expand-top-sequence (#) =E2=80=A6) =C2=A0 1121:20=C2=A0 9 (parse _ (("placeholder" placeholder)) ((top) #(# #= =E2=80=A6)) =E2=80=A6) =C2=A0 1342:32=C2=A0 8 (syntax-type (t #) # =E2=80=A6) =C2=A0 1562:32=C2=A0 7 (expand-macro # =E2=80=A6) In ice-9/eval.scm: =C2=A0=C2=A0 191:35=C2=A0 6 (_ #(#(# #= =E2=80=A6) =E2=80=A6)) =C2=A0=C2=A0=C2=A0 163:9=C2=A0 5 (_ #(#(# # =E2=80=A6) =E2=80=A6)) =C2=A0=C2=A0 191:35=C2=A0 4 (_ #(#(#(#= # =E2=80=A6) =E2=80=A6) =E2=80=A6)) In srfi/srfi-1.scm: =C2=A0=C2=A0 603:19=C2=A0 3 (map2 (innate-mandatory-field mandatory-field)= (0 1) 2) In ice-9/eval.scm: =C2=A0=C2=A0 196:43=C2=A0 2 (_ #(#(#(#= # =E2=80=A6) =E2=80=A6) =E2=80=A6)) =C2=A0=C2=A0=C2=A0 155:9=C2=A0 1 (_ _) In ice-9/boot-9.scm: =C2=A0 1685:16=C2=A0 0 (raise-exception _ #:continuable? _) ice-9/boot-9.scm:1685:16: In procedure raise-exception: In procedure car: Wrong type argument in position 1 (expecting pair): #f