patch 9.0.2163: Vim9: type can be assigned to list/dict

Problem:  Vim9: type can be assigned to list/dict
Solution: Prevent assigning a `type` to a `list` or `dict`

closes: #13683

Signed-off-by: Ernie Rael <errael@raelity.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/vim9instr.c b/src/vim9instr.c
index 3547d42..12c83df 100644
--- a/src/vim9instr.c
+++ b/src/vim9instr.c
@@ -1333,7 +1333,8 @@
 
     // Get the member type and the declared member type from all the items on
     // the stack.
-    member_type = get_member_type_from_stack(count, 1, cctx);
+    if ((member_type = get_member_type_from_stack(count, 1, cctx)) == NULL)
+	return FAIL;
     type = get_list_type(member_type, cctx->ctx_type_list);
     decl_type = get_list_type(&t_any, cctx->ctx_type_list);
 
@@ -1361,7 +1362,8 @@
 	return FAIL;
     isn->isn_arg.number = use_null ? -1 : count;
 
-    member_type = get_member_type_from_stack(count, 2, cctx);
+    if ((member_type = get_member_type_from_stack(count, 2, cctx)) == NULL)
+	return FAIL;
     type = get_dict_type(member_type, cctx->ctx_type_list);
     decl_type = get_dict_type(&t_any, cctx->ctx_type_list);