|
32 | 32 | is_list_rprimitive, is_tuple_rprimitive, is_dict_rprimitive, is_set_rprimitive, PySetObject,
|
33 | 33 | none_rprimitive, RTuple, is_bool_rprimitive, is_str_rprimitive, c_int_rprimitive,
|
34 | 34 | pointer_rprimitive, PyObject, PyListObject, bit_rprimitive, is_bit_rprimitive,
|
35 |
| - object_pointer_rprimitive, c_size_t_rprimitive |
| 35 | + object_pointer_rprimitive, c_size_t_rprimitive, dict_rprimitive |
36 | 36 | )
|
37 | 37 | from mypyc.ir.func_ir import FuncDecl, FuncSignature
|
38 | 38 | from mypyc.ir.class_ir import ClassIR, all_concrete_classes
|
@@ -960,7 +960,8 @@ def add_bool_branch(self, value: Value, true: BasicBlock, false: BasicBlock) ->
|
960 | 960 | return
|
961 | 961 | elif is_same_type(value.type, str_rprimitive):
|
962 | 962 | value = self.call_c(str_check_if_true, [value], value.line)
|
963 |
| - elif is_same_type(value.type, list_rprimitive): |
| 963 | + elif (is_same_type(value.type, list_rprimitive) |
| 964 | + or is_same_type(value.type, dict_rprimitive)): |
964 | 965 | length = self.builtin_len(value, value.line)
|
965 | 966 | zero = Integer(0)
|
966 | 967 | value = self.binary_op(length, zero, '!=', value.line)
|
|
0 commit comments