mirror of
https://gitlab.com/embeddable-common-lisp/ecl.git
synced 2026-01-25 14:01:07 -08:00
defstruct: redefine: relax requirement to have slot names eql
As explained in the comment: structure may be a result of code generation which will likely use gensym. In this case name eql casues compilation/load problems. I.e adt library dos that.
This commit is contained in:
parent
bc839d2a41
commit
f7ffa893a6
1 changed files with 4 additions and 1 deletions
|
|
@ -317,7 +317,10 @@
|
|||
(destructuring-bind (new-slot-name new-init new-type new-read-only new-offset new-ac)
|
||||
new-def
|
||||
(declare (ignore new-init new-read-only new-ac))
|
||||
(and (eql old-slot-name new-slot-name)
|
||||
;; Name EQL is not enforced because structures may be
|
||||
;; constructed by code generators and it is likely they
|
||||
;; will have gensymed names. -- jd 2019-05-22
|
||||
(and #+ (or) (eql old-slot-name new-slot-name)
|
||||
(= old-offset new-offset)
|
||||
(and (multiple-value-bind (subtypep certain)
|
||||
(subtypep old-type new-type)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue