disallow constant folding of mutable field access

original commit: 7ac8cd69fc709200c1c0064f8031855a950ea8d3
This commit is contained in:
Matthew Flatt 2019-10-16 08:52:12 -06:00
parent 4341bba898
commit e53a4a8de2

View File

@ -5004,6 +5004,7 @@
(or (nanopass-case (Lsrc Expr) (result-exp e0)
[(quote ,d)
(and (record? d rtd)
(not (csv7:record-field-mutable? rtd index))
(make-seq ctxt e0 `(quote ,((csv7:record-field-accessor rtd index) d))))]
[(record ,rtd1 ,rtd-expr ,e* ...)
(let loop ([e* e*] [re* '()] [index index])