Branch: Tag:

2021-11-21

2021-11-21 14:52:21 by Henrik Grubbström (Grubba) <grubba@grubba.org>

Compiler [Typechecker]: Fix some issues with __unknown__.

5588:    case T_MAPPING:    case T_STRING:    /* FIXME: Handle PT_FLAG_CMP_INSEPARABLE. */ +  /* FIXME: The recursive op should probably be inverted. */    tmp = low_type_binop(op, a->car, b->car, remap,    0, 0, remap_flags); -  if (!tmp && (op == PT_BINOP_AND)) return NULL; +  if (!tmp && (op == PT_BINOP_AND) && a->car && b->car) return NULL;    if (a->type == T_STRING) {    tmp2 = low_type_binop(op, a->cdr, b->cdr, remap,    0, 0, remap_flags);
5603:    PT_FLAG_CMP_NULLABLE,    remap_flags);    } -  if (!tmp2 && -  (a->type != PIKE_T_STRING -  || op == PT_BINOP_MINUS || (a->cdr && b->cdr))) { +  if (!tmp2 && (op == PT_BINOP_MINUS || (a->cdr && b->cdr))) {    if (op == PT_BINOP_AND) {    free_type(tmp);    return NULL;