From bbb62da731324fdbb7ce1b42b5b07df164e25f40 Mon Sep 17 00:00:00 2001 From: Alex Knauth Date: Mon, 12 Sep 2016 09:17:57 -0400 Subject: [PATCH] fix type of non-empty-string? (#427) fixes #426 --- typed-racket-lib/typed-racket/base-env/base-env.rkt | 2 +- typed-racket-test/succeed/gh-issue-426.rkt | 12 ++++++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 typed-racket-test/succeed/gh-issue-426.rkt diff --git a/typed-racket-lib/typed-racket/base-env/base-env.rkt b/typed-racket-lib/typed-racket/base-env/base-env.rkt index 23acf765..fdafafca 100644 --- a/typed-racket-lib/typed-racket/base-env/base-env.rkt +++ b/typed-racket-lib/typed-racket/base-env/base-env.rkt @@ -177,7 +177,7 @@ #:repeat? Univ #f -String)] -[non-empty-string? (make-pred-ty -String)] +[non-empty-string? (asym-pred Univ -Boolean (-PS (-is-type 0 -String) -tt))] [string-contains? (-> -String -String -Boolean)] [string-prefix? (-> -String -String -Boolean)] [string-suffix? (-> -String -String -Boolean)] diff --git a/typed-racket-test/succeed/gh-issue-426.rkt b/typed-racket-test/succeed/gh-issue-426.rkt new file mode 100644 index 00000000..44d9083d --- /dev/null +++ b/typed-racket-test/succeed/gh-issue-426.rkt @@ -0,0 +1,12 @@ +#lang typed/racket + +;; Test for Github issue #426 +;; https://github.com/racket/typed-racket/issues/426 + +(require racket/string typed/rackunit) + +(check-equal? (non-empty-string? "foo") #true) +(check-equal? (non-empty-string? "") #false) +(check-equal? (if (non-empty-string? "foo") 'A 'B) 'A) +(check-equal? (if (non-empty-string? "") 'A 'B) 'B) +