diff options
author | Andrea Corallo <akrl@sdf.org> | 2020-12-05 23:42:25 +0100 |
---|---|---|
committer | Andrea Corallo <akrl@sdf.org> | 2020-12-06 18:02:18 +0100 |
commit | ac40a60696322cd92f37fcddda97ae9c00226bf8 (patch) | |
tree | 0ad146e7e912e967fa947dcd457266a080eacbc9 /test | |
parent | 09ec39e35213f92ce297dfed7a42af56b5e2b693 (diff) | |
download | emacs-ac40a60696322cd92f37fcddda97ae9c00226bf8.tar.gz emacs-ac40a60696322cd92f37fcddda97ae9c00226bf8.tar.bz2 emacs-ac40a60696322cd92f37fcddda97ae9c00226bf8.zip |
Couple of `comp-cstr-union-1-no-mem' improvements for mixed neg pos union
* lisp/emacs-lisp/comp-cstr.el (comp-cstr-union-1-no-mem):
Generalize disjoint pos types vs neg values conditions.
(comp-cstr-union-1-no-mem): Do not propagate ranges when we are
already returning integer as generic type.
* test/lisp/emacs-lisp/comp-cstr-tests.el
(comp-cstr-typespec-tests-alist): Add corresponding tests.
Diffstat (limited to 'test')
-rw-r--r-- | test/lisp/emacs-lisp/comp-cstr-tests.el | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/test/lisp/emacs-lisp/comp-cstr-tests.el b/test/lisp/emacs-lisp/comp-cstr-tests.el index bc772fcb0d2..6e1d0d463e1 100644 --- a/test/lisp/emacs-lisp/comp-cstr-tests.el +++ b/test/lisp/emacs-lisp/comp-cstr-tests.el @@ -81,7 +81,7 @@ ((not symbol) . (not symbol)) ((or (member foo) (not (member foo bar))) . (not (member bar))) ((or (member foo bar) (not (member foo))) . t) - ;; Intentionally conservative, see `comp-cstr-union'. + ;; Intentionally conservative, see `comp-cstr-union-1-no-mem'. ((or symbol (not sequence)) . t) ((or symbol (not symbol)) . t) ;; Conservative. @@ -98,7 +98,10 @@ ((or (member foo) (not string)) . (not string)) ((or (not (integer 1 2)) integer) . integer) ((or (not (integer 1 2)) (not integer)) . (not integer)) - ((or (integer 1 2) (not integer)) . (not (or integer (integer * 0) (integer 3 *))))) + ((or (integer 1 2) (not integer)) . (not (or integer (integer * 0) (integer 3 *)))) + ((or number (not (integer 1 2))) . t) + ((or atom (not (integer 1 2))) . t) + ((or atom (not (member foo))) . t)) "Alist type specifier -> expected type specifier.") (defmacro comp-cstr-synthesize-tests () |