Don't assume built-in structs are mutable

Doing so adds spurious entries in the type environment for
the setters for these structs, even though the setters are
not defined.
This commit is contained in:
Asumu Takikawa 2015-10-03 16:39:28 -04:00
parent af8ccae0ff
commit e800787773
2 changed files with 9 additions and 1 deletions

View File

@ -330,7 +330,7 @@
(define parent-tys (map fld-t (get-flds parent-type)))
(define names (get-struct-names nm nm fld-names #f #f))
(define desc (struct-desc parent-tys tys null #t #f))
(define desc (struct-desc parent-tys tys null #f #f))
(define sty (mk/inner-struct-type names desc parent-type))
(register-sty! sty names desc)

View File

@ -0,0 +1,8 @@
#;
(exn-pred #rx"missing type for top-level")
#lang racket/load
;; Test that built-in struct fields don't have types for setters
(require typed/racket/base)
set-date-second!