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")