[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#47232: GOOPS cannot use generic as accessor in 3.0.x
From: |
Jan Nieuwenhuizen |
Subject: |
bug#47232: GOOPS cannot use generic as accessor in 3.0.x |
Date: |
Thu, 18 Mar 2021 14:19:00 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/27.1 (gnu/linux) |
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
Description: Binary data
foo.scm
Description: Binary data
bar.scm
Description: Binary data
--
Jan Nieuwenhuizen <janneke@gnu.org> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- bug#47232: GOOPS cannot use generic as accessor in 3.0.x,
Jan Nieuwenhuizen <=