From daf9415a983ac8fb7d38eba3e8142d84a44ae4b8 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Fri, 2 Jan 2015 18:16:02 -0700 Subject: [PATCH] ffi/unsafe: fix tauint handling in `define-fun-syntax` --- pkgs/racket-test-core/tests/racket/foreign-test.rktl | 3 +++ racket/collects/ffi/unsafe.rkt | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/racket-test-core/tests/racket/foreign-test.rktl b/pkgs/racket-test-core/tests/racket/foreign-test.rktl index a18cec9d4d..08c10b11fe 100644 --- a/pkgs/racket-test-core/tests/racket/foreign-test.rktl +++ b/pkgs/racket-test-core/tests/racket/foreign-test.rktl @@ -148,6 +148,9 @@ (check t 'd 16) (check t '(a b) 3)) +;; Make sure `_box` at least compiles: +(test #t ctype? (_fun (_box _int) -> _void)) + (define-cstruct _ic7i ([i1 _int] [c7 _c7_list] [i2 _int])) diff --git a/racket/collects/ffi/unsafe.rkt b/racket/collects/ffi/unsafe.rkt index 9332e653c2..6cb137b2a9 100644 --- a/racket/collects/ffi/unsafe.rkt +++ b/racket/collects/ffi/unsafe.rkt @@ -351,7 +351,7 @@ [else (set! keys (cons (cons key val) keys))])) (let loop ([t (disarm orig)]) (define (next rest . args) (apply setkey! args) (loop rest)) - (define (rearm e) (syntax-rearm e orig)) + (define (rearm e) (syntax-rearm e orig #t)) (syntax-case* t (type: expr: bind: 1st-arg: prev-arg: pre: post: keywords: =>) id=?