Normalize cstrs for cache hint effectiveness and test stability
* lisp/emacs-lisp/comp-cstr.el (comp-normalize-valset) (comp-union-valsets, comp-intersection-valsets) (comp-normalize-typeset): New functions. (comp-union-typesets, comp-intersect-typesets) (comp-cstr-union-homogeneous-no-range, comp-cstr-union-1-no-mem): Update to return normalized results. * test/lisp/emacs-lisp/comp-cstr-tests.el (comp-cstr-typespec-tests-alist): Normalize expected type specifiers.
This commit is contained in:
parent
a6295d3150
commit
6286945396
2 changed files with 48 additions and 21 deletions
|
@ -45,23 +45,23 @@
|
|||
;; 2
|
||||
((or string array) . array)
|
||||
;; 3
|
||||
((or symbol number) . (or symbol number))
|
||||
((or symbol number) . (or number symbol))
|
||||
;; 4
|
||||
((or cons atom) . (or cons atom)) ;; SBCL return T
|
||||
((or cons atom) . (or atom cons)) ;; SBCL return T
|
||||
;; 5
|
||||
((or integer number) . number)
|
||||
;; 6
|
||||
((or (or integer symbol) number) . (or symbol number))
|
||||
((or (or integer symbol) number) . (or number symbol))
|
||||
;; 7
|
||||
((or (or integer symbol) (or number list)) . (or list symbol number))
|
||||
((or (or integer symbol) (or number list)) . (or list number symbol))
|
||||
;; 8
|
||||
((or (or integer number) nil) . number)
|
||||
;; 9
|
||||
((member foo) . (member foo))
|
||||
;; 10
|
||||
((member foo bar) . (member foo bar))
|
||||
((member foo bar) . (member bar foo))
|
||||
;; 11
|
||||
((or (member foo) (member bar)) . (member foo bar))
|
||||
((or (member foo) (member bar)) . (member bar foo))
|
||||
;; 12
|
||||
((or (member foo) symbol) . symbol) ;; SBCL return (OR SYMBOL (MEMBER FOO))
|
||||
;; 13
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue