Introduce the concept of SemanticRepr

This commit is contained in:
Ayaz Hafiz 2023-05-10 13:51:04 -05:00
parent c3eeb5e2cc
commit f100e8753c
No known key found for this signature in database
GPG key ID: 0E2A37416A25EF58
17 changed files with 218 additions and 223 deletions

View file

@ -852,9 +852,8 @@ fn call_spec<'a>(
let output_element_type = layout_spec(env, builder, interner, *return_layout)?;
let state_layout = interner.insert(Layout {
repr: LayoutRepr::Builtin(Builtin::List(*return_layout)),
});
let state_layout = interner
.insert_no_semantic(LayoutRepr::Builtin(Builtin::List(*return_layout)));
let state_type = layout_spec(env, builder, interner, state_layout)?;
let init_state = new_list(builder, block, output_element_type)?;
@ -881,9 +880,8 @@ fn call_spec<'a>(
let arg0_layout = argument_layouts[0];
let state_layout = interner.insert(Layout {
repr: LayoutRepr::Builtin(Builtin::List(arg0_layout)),
});
let state_layout = interner
.insert_no_semantic(LayoutRepr::Builtin(Builtin::List(arg0_layout)));
let state_type = layout_spec(env, builder, interner, state_layout)?;
let init_state = list;
@ -910,9 +908,8 @@ fn call_spec<'a>(
let output_element_type = layout_spec(env, builder, interner, *return_layout)?;
let state_layout = interner.insert(Layout {
repr: LayoutRepr::Builtin(Builtin::List(*return_layout)),
});
let state_layout = interner
.insert_no_semantic(LayoutRepr::Builtin(Builtin::List(*return_layout)));
let state_type = layout_spec(env, builder, interner, state_layout)?;
let init_state = new_list(builder, block, output_element_type)?;
@ -945,9 +942,8 @@ fn call_spec<'a>(
let output_element_type = layout_spec(env, builder, interner, *return_layout)?;
let state_layout = interner.insert(Layout {
repr: LayoutRepr::Builtin(Builtin::List(*return_layout)),
});
let state_layout = interner
.insert_no_semantic(LayoutRepr::Builtin(Builtin::List(*return_layout)));
let state_type = layout_spec(env, builder, interner, state_layout)?;
let init_state = new_list(builder, block, output_element_type)?;
@ -986,9 +982,8 @@ fn call_spec<'a>(
let output_element_type = layout_spec(env, builder, interner, *return_layout)?;
let state_layout = interner.insert(Layout {
repr: LayoutRepr::Builtin(Builtin::List(*return_layout)),
});
let state_layout = interner
.insert_no_semantic(LayoutRepr::Builtin(Builtin::List(*return_layout)));
let state_type = layout_spec(env, builder, interner, state_layout)?;
let init_state = new_list(builder, block, output_element_type)?;