GNU bug report logs -
#38611
Guile 2.9.7 regression: "duplicate" record field names
Previous Next
Full log
View this message in rfc822 format
Hello schemers,
The following program works in Guile 2.2.6 (and other R6RS
implementations), but raises an exception in Guile 2.9.7. A field called
"name" exists in record type a and record type b, but there is no actual
naming conflict as I understand it.
--8<---------------cut here---------------start------------->8---
(import (rnrs))
(define-record-type a
(fields name))
(define-record-type b
(parent a)
(fields name))
(let ((x (make-b 'a 'b)))
(write (list (a-name x)
(b-name x)))
(newline))
--8<---------------cut here---------------end--------------->8---
It should print (a b). The backtrace:
--8<---------------cut here---------------start------------->8---
Backtrace:
In ice-9/boot-9.scm:
1722:10 8 (with-exception-handler _ _ #:unwind? _ # _)
In unknown file:
7 (apply-smob/0 #<thunk 56291f86b320>)
In ice-9/boot-9.scm:
718:2 6 (call-with-prompt _ _ #<procedure default-prompt-handle?>)
In ice-9/eval.scm:
619:8 5 (_ #(#(#<directory (guile-user) 56291f8eff00>)))
In ice-9/boot-9.scm:
2792:4 4 (save-module-excursion _)
4336:12 3 (_)
In /tmp/foo.sps:
6:0 2 (_)
In ice-9/boot-9.scm:
1090:10 1 (make-record-type b ((immutable name)) _ #:parent _ # _ ?)
1073:12 0 (append-fields _ _)
ice-9/boot-9.scm:1073:12: In procedure append-fields:
duplicate field name
--8<---------------cut here---------------end--------------->8---
Regards,
--
Göran Weinholt | https://weinholt.se/
Debian developer | 73 de SA6CJK
This bug report was last modified 5 years and 153 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.