Closed soegaard closed 9 years ago
The following program provokes an internal error, rather than signaling one the user program.
(define-language L (terminals (symbol (x))) (term (t) x))
(define x 42)
(define-pass pass1 : L (t) -> * () (term : term (t) -> * () [x "it is a symbol"]))
The error is:
Dropbox/GitHub/nanopass-framework-racket/private/pass.rkt:319:33: nano-meta-fields: contract violation expected: nano-meta? given: '#s(nano-quote #<syntax (quote x)>) in: the 1st argument of (-> nano-meta? (listof (or/c nano-dots? nano-quote? nano-unquote? nano-cata? nano-meta? (listof any/c)))) contract from:
Fixed by issue #9
The following program provokes an internal error, rather than signaling one the user program.
lang nanopass
(define-language L (terminals (symbol (x))) (term (t) x))
(define x 42)
(define-pass pass1 : L (t) -> * () (term : term (t) -> * () [x "it is a symbol"]))
The error is:
Dropbox/GitHub/nanopass-framework-racket/private/pass.rkt:319:33: nano-meta-fields: contract violation expected: nano-meta? given: '#s(nano-quote #<syntax (quote x)>) in: the 1st argument of (-> nano-meta? (listof (or/c nano-dots? nano-quote? nano-unquote? nano-cata? nano-meta? (listof any/c)))) contract from: