diff --git a/pkgs/racket-test/tests/racket/contract/flat-contracts.rkt b/pkgs/racket-test/tests/racket/contract/flat-contracts.rkt index fb26c19300..0d2bd9b770 100644 --- a/pkgs/racket-test/tests/racket/contract/flat-contracts.rkt +++ b/pkgs/racket-test/tests/racket/contract/flat-contracts.rkt @@ -40,6 +40,7 @@ (test-flat-contract '(integer-in 0 10) 0 11) (test-flat-contract '(integer-in 0 10) 10 3/2) (test-flat-contract '(integer-in 0 10) 1 1.0) + (test-flat-contract '(integer-in 1 1) 1 1.0) (test-flat-contract '(real-in 1 10) 3/2 20) (test-flat-contract '(string-len/c 3) "ab" "abc") (test-flat-contract 'natural-number/c 5 -1) diff --git a/racket/collects/racket/contract/private/misc.rkt b/racket/collects/racket/contract/private/misc.rkt index a3f1d5884d..a48b526005 100644 --- a/racket/collects/racket/contract/private/misc.rkt +++ b/racket/collects/racket/contract/private/misc.rkt @@ -545,12 +545,7 @@ (define/final-prop (integer-in start end) (check-two-args 'integer-in start end exact-integer? exact-integer?) (if (= start end) - - ;; won't fail, but gets us a contract struct - ;; something seems safer to always produce - ;; from a contract operation - (coerce-contract 'integer-in start) - + (and/c start exact?) (integer-in-ctc start end))) (define/final-prop (real-in start end)