From 5f559b9c7cdbb70cb6c27c89c1378ef78e0651e9 Mon Sep 17 00:00:00 2001 From: Matthew Butterick Date: Mon, 12 Jun 2017 08:50:21 -0700 Subject: [PATCH] finding bug --- pitfall/restructure/racket.rkt | 1 + pitfall/restructure/struct.rkt | 84 ++++++++++++++++++++++++++++------ 2 files changed, 70 insertions(+), 15 deletions(-) diff --git a/pitfall/restructure/racket.rkt b/pitfall/restructure/racket.rkt index ef395d0b..40dc7dd2 100644 --- a/pitfall/restructure/racket.rkt +++ b/pitfall/restructure/racket.rkt @@ -11,6 +11,7 @@ racket/class racket/list racket/string + racket/function br/define sugar/define sugar/class diff --git a/pitfall/restructure/struct.rkt b/pitfall/restructure/struct.rkt index 1f2289f5..16cf06db 100644 --- a/pitfall/restructure/struct.rkt +++ b/pitfall/restructure/struct.rkt @@ -8,6 +8,8 @@ https://github.com/mbutterick/restructure/blob/master/src/Struct.coffee |# (define-subclass Streamcoder (Struct [assocs (dictify)]) + (unless (dict? assocs) + (raise-argument-error 'Struct "dictionary" assocs)) (field [key-index (map car assocs)] ; store the original key order [fields (mhash)]) (for ([(k v) (in-dict assocs)]) @@ -26,10 +28,8 @@ https://github.com/mbutterick/restructure/blob/master/src/Struct.coffee (send this preEncode input-hash stream) ; might bring input hash into compliance - (define sorted-input-keys (sort (hash-keys input-hash) #:key symbol->string stringstring string