diff --git a/CHANGELOG.md b/CHANGELOG.md index ffae8edf..24d3a44f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## 0.21 - TBD + +Bug Fixes + +- Add type checking to record type accessor functions. We now raise an error if the passed object is of the wrong record type. + ## 0.20 - August 14, 2020 Features diff --git a/scheme/base.sld b/scheme/base.sld index 0d779321..a8385228 100644 --- a/scheme/base.sld +++ b/scheme/base.sld @@ -2005,12 +2005,12 @@ (lambda (obj) (if (eq? (vector-ref obj 1) name) (vector-ref (vector-ref obj 2) idx) - (error "Invalid type" obj "expected" name)))) + (error "Invalid type" obj 'expected name)))) (define (make-setter sym name idx) (lambda (obj val) (if (eq? (vector-ref obj 1) name) (vector-set! (vector-ref obj 2) idx val) - (error "Invalid type" obj "expected" name)))) + (error "Invalid type" obj 'expected name)))) ;; Find index of element in list, or #f if not found (define _list-index