diff --git a/pkgs/racket-test-core/tests/racket/struct.rktl b/pkgs/racket-test-core/tests/racket/struct.rktl index ff6374c7d3..3c2b56494a 100644 --- a/pkgs/racket-test-core/tests/racket/struct.rktl +++ b/pkgs/racket-test-core/tests/racket/struct.rktl @@ -1610,6 +1610,13 @@ (struct exn:foo exn () #:constructor-name make-exn:foo) (test "foo" exn-message (make-exn:foo "foo" (current-continuation-marks)))) +(let () + (struct foo (x) #:constructor-name Foo #:name Foo) + (test #t foo? (Foo 1)) + (test 1 foo-x (Foo 1)) + (test #t foo? (let-syntax ([mk (lambda (stx) + #`(#,(cadr (extract-struct-info (syntax-local-value #'Foo))) 1))]) + (mk)))) ;; ---------------------------------------- diff --git a/racket/collects/racket/private/define-struct.rkt b/racket/collects/racket/private/define-struct.rkt index 4c6c259feb..7330d05706 100644 --- a/racket/collects/racket/private/define-struct.rkt +++ b/racket/collects/racket/private/define-struct.rkt @@ -732,7 +732,7 @@ (list (quote-syntax #,(prune struct:)) (quote-syntax #,(prune (if (and ctor-name self-ctor?) - id + ctor-name make-))) (quote-syntax #,(prune ?)) (list