GNU bug report logs - #25211
GOOPS #:class alocation broken in Guile 2.2

Previous Next

Package: guile;

Reported by: Christopher Allan Webber <cwebber <at> dustycloud.org>

Date: Thu, 15 Dec 2016 19:41:02 UTC

Severity: normal

Done: Andy Wingo <wingo <at> pobox.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Christopher Allan Webber <cwebber <at> dustycloud.org>
To: 25211 <at> debbugs.gnu.org
Subject: bug#25211: GOOPS #:class alocation broken in Guile 2.2
Date: Thu, 15 Dec 2016 13:39:47 -0600
In Guile 2.2:

(define-class <foo> ()
  (bar #:allocation #:class
       #:init-value 'baz))

(slot-definition-allocation (class-slot-definition <foo> 'bar))
  => #:instance

In Guile 2.0 this properly returns #:class.

Also, curiously, Guile 2.2 breaks if you present the keywords in the
wrong order:

(define-class <foo> ()
  (bar #:allocation #:class
       #:init-value 'baz))

oop/goops.scm:352:0: In procedure class-precedence-list:
oop/goops.scm:352:0: In procedure struct_vtable: Wrong type argument in position 1 (expecting struct): #:init-value

Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
scheme@(#{8sync}# systems actors) [1]> ,bt
In current input:
   1205:0  4 (_)
In oop/goops.scm:
   2978:4  3 (_ _ . _)
   811:17  2 (%prep-layout! #<<class> <foo> 30b1b40>)
   767:19  1 (%compute-layout _ 0 #f)
    352:0  0 (class-precedence-list _)

I'm guessing that's related!




This bug report was last modified 8 years and 139 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.