← All docs
array_diff() — internals
Compiler internals for array_diff(): lowering path, type checks, and runtime helpers.
array_diff() — internals
Where it lives
- Signature:
src/builtins/array/array_diff.rs - Lowering:
src/codegen/lower_inst/builtins/arrays.rs:870 (lower_array_diff) - Function symbol:
lower_array_diff()
Lowering notes
- Lowers
array_diff()for two compatible indexed arrays with pointer-sized payload slots.
Runtime helpers
The following runtime helpers are referenced:
__rt_array_diff__rt_array_diff_key__rt_array_diff_refcounted__rt_array_intersect__rt_array_intersect_refcounted
Signature summary
function array_diff(array $array, ...$arrays): array
What the type checker enforces
- Arity: takes exactly 1 argument.
- Variadic: collects excess arguments into
$arrays.
Eval interpreter (magician)
- Declaration:
crates/elephc-magician/src/interpreter/builtins/array/array_diff.rs(eval_builtin!) - Dispatch hooks:
direct,values - Variadic: collects excess arguments into
$arrays.