comparison src/vim9type.c @ 33008:ba1b40b520e8 v9.0.1796

patch 9.0.1796: Vim9 problems with null_objects Commit: https://github.com/vim/vim/commit/5c018bee0e1e272774584cfb1577327fbb67254a Author: Ernie Rael <errael@raelity.com> Date: Sun Aug 27 18:40:26 2023 +0200 patch 9.0.1796: Vim9 problems with null_objects Problem: Vim9 problems with null_objects Solution: Vim9 improve null_object usage Fix "xvar == null", where xvar might have been assigned null_object. Fix compilation failure: "var o2: C = null_object". closes: #12890 Signed-off-by: Christian Brabandt <cb@256bit.org> Co-authored-by: Ernie Rael <errael@raelity.com>
author Christian Brabandt <cb@256bit.org>
date Sun, 27 Aug 2023 18:45:08 +0200
parents 75c283beb74f
children def9fc5c92d1
comparison
equal deleted inserted replaced
33007:e7561ca6e020 33008:ba1b40b520e8
905 { 905 {
906 if (actual->tt_type == VAR_ANY) 906 if (actual->tt_type == VAR_ANY)
907 return MAYBE; // use runtime type check 907 return MAYBE; // use runtime type check
908 if (actual->tt_type != VAR_OBJECT) 908 if (actual->tt_type != VAR_OBJECT)
909 return FAIL; // don't use tt_class 909 return FAIL; // don't use tt_class
910 if (actual->tt_class == NULL)
911 return OK; // A null object matches
910 912
911 if (class_instance_of(actual->tt_class, expected->tt_class) == FALSE) 913 if (class_instance_of(actual->tt_class, expected->tt_class) == FALSE)
912 ret = FAIL; 914 ret = FAIL;
913 } 915 }
914 916