-
-
Notifications
You must be signed in to change notification settings - Fork 104
Open
Description
What version of Racket are you using?
8.10
What program did you run?
In normal racket:
#lang racket/base
(require racket/generic)
(define-generics testable
(test testable))
(struct myst (sth)
#:methods gen:testable
[(define (test self) (myst-sth self))])
(define x (myst "3648"))
(test x) ;; => "3648"
However, in Typed Racket:
#lang typed/racket/base
(require racket/generic)
(define-generics testable
(test testable))
(struct myst ([sth : Any])
#:methods gen:testable
[(define (test self) (myst-sth self))])
(define x (myst "3648"))
(test x) ;; => ERROR: struct: expected one of these literals: #:mutable, #:transparent, #:prefab, #:constructor-name, #:extra-constructor-name, #:type-name, #:guard, or #:property
If you got an error message, please include it here.
HelloWorld.rkt:8:0: struct: expected one of these literals: #:mutable, #:transparent, #:prefab, #:constructor-name, #:extra-constructor-name, #:type-name, #:guard, or #:property
at: #:methods
in: (struct myst ((sth : Any)) #:methods gen:testable ((define (test self) (myst-sth self))))
parsing context:
while parsing typed structure type options
term: (#:methods gen:testable ((define (test self) (m...
location: <pkgs>/yacp/HelloWorld.rkt:8:0
location...:
HelloWorld.rkt:9:2
context...:
/Applications/Racket v8.10/collects/syntax/parse/private/runtime-report.rkt:739:0: error/report
/Applications/Racket v8.10/collects/syntax/parse/private/runtime-report.rkt:25:0: call-current-failure-handler
/Applications/Racket v8.10/share/pkgs/typed-racket-lib/typed-racket/tc-setup.rkt:71:0: tc-setup
/Applications/Racket v8.10/share/pkgs/typed-racket-lib/typed-racket/typed-racket.rkt:22:4
Metadata
Metadata
Assignees
Labels
No labels