From ad0f94c0548a160cbbe2d89e0be9478ae7ba6f05 Mon Sep 17 00:00:00 2001 From: Vincent St-Amour Date: Mon, 18 Jan 2016 15:50:13 -0600 Subject: [PATCH] Additional test case from Robby. --- .../tests/racket/contract/prof.rkt | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/pkgs/racket-test/tests/racket/contract/prof.rkt b/pkgs/racket-test/tests/racket/contract/prof.rkt index b2d2f1ee6c..9d669c32f3 100644 --- a/pkgs/racket-test/tests/racket/contract/prof.rkt +++ b/pkgs/racket-test/tests/racket/contract/prof.rkt @@ -616,4 +616,27 @@ 'pos 'neg))) (eval '(free-id-table-ref (free-id-table-set t #'a 3) #'a)))) + ;; check that there's no mark when running the body of a contracted function + ;; (i.e., user code) + (test/spec-passed/result + 'contract-marks67 + '(let () + (eval '(module m racket/base + (require racket/contract/base + (only-in racket/contract/private/guts + contract-continuation-mark-key)) + (provide + (contract-out + [f (-> integer? void?)])) + (define (f x) + (define m + (continuation-mark-set->list + (current-continuation-marks) + contract-continuation-mark-key)) + (unless (null? m) + (error 'ack "~s" m))))) + (eval '(require 'm)) + (eval '(let ([f f]) (f 1)))) + (void)) + )