Received: (at submit) by debbugs.gnu.org; 16 Jul 2019 14:21:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Jul 16 10:21:50 2019
Received: from localhost ([127.0.0.1]:50930 helo=debbugs.gnu.org)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
id 1hnOKz-00025a-JF
for submit <at> debbugs.gnu.org; Tue, 16 Jul 2019 10:21:50 -0400
Received: from lists.gnu.org ([209.51.188.17]:43674)
by debbugs.gnu.org with esmtp (Exim 4.84_2)
(envelope-from <dthompson2@HIDDEN>) id 1hnOKx-00025Q-0K
for submit <at> debbugs.gnu.org; Tue, 16 Jul 2019 10:21:47 -0400
Received: from eggs.gnu.org ([2001:470:142:3::10]:39645)
by lists.gnu.org with esmtp (Exim 4.86_2)
(envelope-from <dthompson2@HIDDEN>) id 1hnOKw-0005Jq-1s
for bug-guile@HIDDEN; Tue, 16 Jul 2019 10:21:46 -0400
X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org
X-Spam-Level:
X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled
version=3.3.2
Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71)
(envelope-from <dthompson2@HIDDEN>) id 1hnOKv-0001l8-2N
for bug-guile@HIDDEN; Tue, 16 Jul 2019 10:21:45 -0400
Received: from mail-wr1-x42d.google.com ([2a00:1450:4864:20::42d]:34096)
by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16)
(Exim 4.71) (envelope-from <dthompson2@HIDDEN>)
id 1hnOKu-0001k7-Ho
for bug-guile@HIDDEN; Tue, 16 Jul 2019 10:21:45 -0400
Received: by mail-wr1-x42d.google.com with SMTP id 31so21210981wrm.1
for <bug-guile@HIDDEN>; Tue, 16 Jul 2019 07:21:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=worcester-edu.20150623.gappssmtp.com; s=20150623;
h=mime-version:from:date:message-id:subject:to
:content-transfer-encoding;
bh=a1quRdKi/kRU0D5RhO3WWoT/ePY+LUO0hv0zZ8cBRrY=;
b=ZhtyIODg9amVEGIod5wO8ycbNJY2TEtrPkrmT7+VnBG4BcpXaOC1Tk6p+SLCXEbmec
Yj+DEwiHwdSZlQl6egUGPORyT2FKMKQftapmwuSFnk/Ghphe1yvcf/gKUXVezaf2HH6P
zSzVrlyhjBiG9adjunLeWDVka5SsvWry2JcehCHRosuMch0FmyXN6Md4qESQODx4fuVW
fqkbdqyEO97EsU2XpVA4kbUCFe7FBR66HJoj16wxwoIj2YJzDplnfGHZjuj8hr7GL4sX
ZhFRUsEwxUhNgzB6dAkaFOXU2D8cw8yBa+ndmqY8GyBFe+dRs70uwtfUAyy9axXV1EcB
ggFA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=1e100.net; s=20161025;
h=x-gm-message-state:mime-version:from:date:message-id:subject:to
:content-transfer-encoding;
bh=a1quRdKi/kRU0D5RhO3WWoT/ePY+LUO0hv0zZ8cBRrY=;
b=frIjcWtZFNgOFTAez7T0A1nfYc1CsAZAPkdm5OWQNP9gRwnITgOiZ2LhGru1VJSNRK
bznd6CAJ0gyZe6/Q1wrkMrLdgJL0nlQ7abIWdDTeQrLySeJPESRNPpHnP/tiIFKui8ex
GpR8lu+PrABMcqI7nKcE42V226cM6TLcg7ET5mmHz5zTMawXmkpMAxGFxdt5zu8pIU9y
NIA+mYULcdWAHlT8f/7OajznICJyT9EtzUilKNrh1DjNFiIsPnxciqafquKsHfphHg16
HRX+9h7FfdN+8Px/TMOtglRf3yoxlA3pdoDj5VM2jn9p1zG3rAk8KWQL7YBw6S+cTToK
1YUA==
X-Gm-Message-State: APjAAAU3i4YA8OEIAs2qS1uxBVpGwuGA5sV3ZP23d2sBXe8+Cb7hmSzs
FJgFSzpQVUx7qQq8xPv2q2wjsT264bO2MYTEXqrPkQyzAOg=
X-Google-Smtp-Source: APXvYqwpLZrbfpwvvPWE4zxDKOA/KC8Cbq4YAku3LwdKoY8TzqyNYmcRYjSwMX1zvJ2U1XmC7bEeVK4CfdbtME/ON7U=
X-Received: by 2002:a5d:53ca:: with SMTP id a10mr37044461wrw.131.1563286902081;
Tue, 16 Jul 2019 07:21:42 -0700 (PDT)
MIME-Version: 1.0
From: "Thompson, David" <dthompson2@HIDDEN>
Date: Tue, 16 Jul 2019 10:21:31 -0400
Message-ID: <CAJ=RwfaRhV_gb53rPMHh8JtZ6xadDupwuoMRsAPN2brsneK_mA@HIDDEN>
Subject: GOOPS: accessor breaks inherited slots with getters
To: bug-guile@HIDDEN
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-detected-operating-system: by eggs.gnu.org: Genre and OS details not
recognized.
X-Received-From: 2a00:1450:4864:20::42d
X-Spam-Score: -1.3 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>,
<mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.3 (--)
Hi,
When a subclass inherits a slot with a getter, but a previously
defined class creates an accessor with the same name, the inherited
getter is seemingly ignored and an error is thrown when attempting to
use the getter on an instance of the subclass. It's hard to explain
in a clear way, so here's a minimal example that demonstrates the
problem:
(use-modules (oop goops))
(define-class <cat> ()
(name #:getter name #:init-keyword #:name))
(define-class <boat> ()
(name #:accessor name #:init-keyword #:name))
(define-class <leopard> (<cat>))
(display (name (make <cat> #:name "Mittens")))
(newline)
(display (name (make <boat> #:name "Boaty McBoatface")))
(newline)
(display (name (make <leopard> #:name "Spot")))
(newline)
This program outputs "Mittens" and "Boaty McBoatface" then prints a
backtrace when it should print "Spot":
Backtrace:
7 (apply-smob/1 #<catch-closure 5556814626c0>)
In ice-9/boot-9.scm:
702:2 6 (call-with-prompt ("prompt") #<procedure 55568147c920 =E2=
=80=A6> =E2=80=A6)
In ice-9/eval.scm:
619:8 5 (_ #(#(#<directory (guile-user) 555681529750>)))
In ice-9/boot-9.scm:
2296:4 4 (save-module-excursion #<procedure 55568153acc0 at ice-=E2=
=80=A6>)
3816:12 3 (_)
In /home/dthompson/Code/starling/examples/tetra/test.scm:
15:9 2 (_)
In oop/goops.scm:
1460:4 1 (cache-miss #<<leopard> 5556815fd730>)
1585:2 0 (goops-error _ . _)
oop/goops.scm:1585:2: In procedure goops-error:
No applicable method for #<<accessor> name (2)> in call (name
#<<leopard> 5556815fd730>)
I am using Guile 2.9.2 on GNU/Linux.
- Dave
"Thompson, David" <dthompson2@HIDDEN>:bug-guile@HIDDEN.
Full text available.bug-guile@HIDDEN:bug#36691; Package guile.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.