diff --git a/collects/scheme/private/contract.ss b/collects/scheme/private/contract.ss index c1ba0f5c48..1061e62ba6 100644 --- a/collects/scheme/private/contract.ss +++ b/collects/scheme/private/contract.ss @@ -1463,6 +1463,7 @@ improve method arity mismatch contract violation error messages? (λ (x) (and (number? x) (integer? x) + (exact? x) (x . >= . 0))))) (define (integer-in start end) diff --git a/collects/tests/mzscheme/contract-test.ss b/collects/tests/mzscheme/contract-test.ss index 22f9a040be..52ef6ffe3f 100644 --- a/collects/tests/mzscheme/contract-test.ss +++ b/collects/tests/mzscheme/contract-test.ss @@ -4534,6 +4534,7 @@ so that propagation occurs. (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) + (test-flat-contract 'natural-number/c #e3 #i3.0) (test-flat-contract 'false/c #f #t) (test-flat-contract #t #t "x")