mirror of
https://github.com/roc-lang/roc.git
synced 2025-08-03 03:42:17 +00:00
new approach for defining our builtins
This commit is contained in:
parent
98c55ba30c
commit
41768bfa97
11 changed files with 450 additions and 8 deletions
|
@ -5575,13 +5575,22 @@ fn run_low_level<'a, 'ctx, 'env>(
|
|||
//
|
||||
// As a low-level, record is destructed
|
||||
// List.sublist : List elem, start : Nat, len : Nat -> List elem
|
||||
debug_assert_eq!(args.len(), 3);
|
||||
debug_assert_eq!(args.len(), 2);
|
||||
|
||||
let (list, list_layout) = load_symbol_and_layout(scope, &args[0]);
|
||||
let original_wrapper = list.into_struct_value();
|
||||
|
||||
let start = load_symbol(scope, &args[1]);
|
||||
let len = load_symbol(scope, &args[2]);
|
||||
let record = load_symbol(scope, &args[1]).into_struct_value();
|
||||
|
||||
let len = env
|
||||
.builder
|
||||
.build_extract_value(record, 0, "get_len")
|
||||
.unwrap();
|
||||
|
||||
let start = env
|
||||
.builder
|
||||
.build_extract_value(record, 1, "get_start")
|
||||
.unwrap();
|
||||
|
||||
let element_layout = list_element_layout!(list_layout);
|
||||
list_sublist(
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue