fix bug in object/c-clause syntax-class

`field` needs to be a literal; with the bug, the following syntax

```
  (object/c-opaque (any-var (->m any/c)))
```

made a contract with 1 field (named `->m`, value `any/c`)
This commit is contained in:
Ben Greenman 2017-01-06 02:19:05 -05:00
parent 4bfb101677
commit 7c495eea62

View File

@ -81,7 +81,7 @@
(begin-for-syntax
(define-syntax-class object/c-clause
#:attributes (method-names method-ctcs field-names field-ctcs)
(pattern (field [name:id ctc:expr] ...)
(pattern ((~literal field) [name:id ctc:expr] ...)
#:with field-names #'(list (quote name) ...)
#:with field-ctcs #'(list ctc ...)
#:with method-names #'null