GNU bug report logs -
#47232
GOOPS cannot use generic as accessor in 3.0.x
Previous Next
To reply to this bug, email your comments to 47232 AT debbugs.gnu.org.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guile <at> gnu.org
:
bug#47232
; Package
guile
.
(Thu, 18 Mar 2021 13:20:02 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Jan Nieuwenhuizen <janneke <at> gnu.org>
:
New bug report received and forwarded. Copy sent to
bug-guile <at> gnu.org
.
(Thu, 18 Mar 2021 13:20:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Hi!
Trying to upgrade 8sync to latest Guile, I found the problem that a
generic function cannot be used as as accessor, and then be
exported/imported. Or something. At least, the problem is triggered
when compiling (or using) a module that does that.
See the attached foo.scm, bar.scm and `doit', when running it in the
Guile source tree I get
--8<---------------cut here---------------start------------->8---
$ ./doit
++ export GUILE_LOAD_COMPILED_PATH=/home/janneke/src/8sync/wip
++ GUILE_LOAD_COMPILED_PATH=/home/janneke/src/8sync/wip
++ ./pre-inst-env guild compile -L . -o foo.go foo.scm
wrote `foo.go'
++ ./pre-inst-env guild compile -L . -o bar.go bar.scm
Backtrace:
In ice-9/eval.scm:
293:34 19 (_ #<module (#{ g79}#) 7ff689b8dd20>)
In ice-9/boot-9.scm:
3380:4 18 (define-module* _ #:filename _ #:pure _ #:version _ #:imports _ #:exports _ #:replacements _ # _ # …)
2565:24 17 (call-with-deferred-observers #<procedure 7ff689b948c0 at ice-9/boot-9.scm:3381:5 ()>)
3393:24 16 (_)
222:17 15 (map1 (((foo))))
3297:17 14 (resolve-interface (foo) #:select _ #:hide _ #:prefix _ #:renamer _ #:version _)
In ice-9/threads.scm:
390:8 13 (_ _)
In ice-9/boot-9.scm:
3223:13 12 (_)
In ice-9/threads.scm:
390:8 11 (_ _)
In ice-9/boot-9.scm:
3507:20 10 (_)
2806:4 9 (save-module-excursion #<procedure 7ff68aeece10 at ice-9/boot-9.scm:3508:21 ()>)
3527:26 8 (_)
In unknown file:
7 (primitive-load-path "foo" #<procedure 7ff689bb6140 at ice-9/boot-9.scm:3514:37 ()>)
In foo.scm:
12:0 6 (_)
In oop/goops.scm:
2852:4 5 (_ _ . _)
2782:2 4 (_ #<<class> <foo> 7ff688c64f80> _)
In srfi/srfi-1.scm:
634:9 3 (for-each #<procedure 7ff688c5c0c0 at oop/goops.scm:2579:3 (slot)> (#<<slot> foo 7ff688c64e80>))
In oop/goops.scm:
2590:22 2 (_ #<<slot> foo 7ff688c64e80>)
In unknown file:
1 (setter #<<generic> .foo (1)>)
In ice-9/boot-9.scm:
1669:16 0 (raise-exception _ #:continuable? _)
ice-9/boot-9.scm:1669:16: In procedure raise-exception:
In procedure setter: Wrong type argument in position 1: #<<generic> .foo (1)>
--8<---------------cut here---------------end--------------->8---
I found similar behaviour in guile-3.0.2, guile-2.2.7 is fine.
Greetings,
Janneke
[doit (application/octet-stream, attachment)]
[foo.scm (application/octet-stream, attachment)]
[bar.scm (application/octet-stream, attachment)]
[Message part 5 (text/plain, inline)]
--
Jan Nieuwenhuizen <janneke <at> gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
This bug report was last modified 4 years and 87 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.