From 3e9a8ccf596c921e00a94a96b6e9ea0a0ef1161b Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 28 Apr 2021 14:30:31 -0600 Subject: [PATCH] mixin: fix error-message construction Closes #1693 --- pkgs/racket-test-core/tests/racket/object.rktl | 6 +++++- racket/collects/racket/private/class-internal.rkt | 4 +++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/pkgs/racket-test-core/tests/racket/object.rktl b/pkgs/racket-test-core/tests/racket/object.rktl index f3c54d11d0..8c75161bd6 100644 --- a/pkgs/racket-test-core/tests/racket/object.rktl +++ b/pkgs/racket-test-core/tests/racket/object.rktl @@ -1999,7 +1999,11 @@ (define/public (n) 2) (super-new))) (test 3 'mixin-with-local-member-names (send (new (mix c%)) x))) - + +(err/rt-test (mixin (object%) () (super-new)) + exn:fail:object? + #rx"not an interface") + ;; ---------------------------------------- ;; Class contracts & generics diff --git a/racket/collects/racket/private/class-internal.rkt b/racket/collects/racket/private/class-internal.rkt index 816f9ac59a..881fa42f6e 100644 --- a/racket/collects/racket/private/class-internal.rkt +++ b/racket/collects/racket/private/class-internal.rkt @@ -4697,7 +4697,9 @@ An example [(or (as-write-list? val) (as-value-list? val)) (apply string-append - (for/list ([v (in-list (as-write-list-content val))]) + (for/list ([v (in-list (if (as-write-list? val) + (as-write-list-content val) + (as-value-list-content val)))]) (format (if (as-write-list? val) "\n ~s" "\n ~e")