stage2 提供词法分析器通过与stage1的差异测试 stage1提供数组到切片的隐式转换
This commit is contained in:
1 parent
c30143609a
commit
bb9d0a9f18
13 files changed
+1275
-52
No files matched your search
@@ -1520,6 +1520,15 @@ static spl_lang_type_id_t sema_coerce(spl_sema_t *sema, spl_ast_node_ref_t ref,
|
||||
n->resolved_lang_tid = expected;
|
||||
return expected;
|
||||
}
|
||||
/* [N]T -> []T:数组字面量在需要切片处隐式物化为切片。 */
|
||||
if (en && en->kind == SPL_LANG_TYPE_SLICE) {
|
||||
spl_lang_type_id_t et = en->extra.elem;
|
||||
for (usize i = 0; i < vec_size(n->array_literal.elems); ++i)
|
||||
if (!sema_coerce(sema, vec_at(n->array_literal.elems, i), et))
|
||||
return 0;
|
||||
n->resolved_lang_tid = expected;
|
||||
return expected;
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user