← All docs
strncmp() — internals
Compiler internals for strncmp(): lowering path, type checks, and runtime helpers.
strncmp() — internals
Where it lives
- Signature:
src/builtins/string/strncmp.rs - Lowering:
src/builtins/semantics.rs:639 (lower_registry_call) - Function symbol:
lower_registry_call()
Lowering notes
- Uses the
runtime_callstrategy from the single-source builtin descriptor. - Emits the typed EIR target
runtime.strncmpthroughBuiltinLoweringContext. - The backend resolves that typed target through
src/codegen/lower_inst/runtime_calls.rs; PHP builtin names do not participate in dispatch.
Semantic descriptor
- Target strategy:
runtime_call - Validation:
signature - Result type source:
declared - Result ownership:
may_alias_arguments - Effects:
static (1 declared effects) - Requirements:
static (0 requirements) - Callable policy:
static_only - Target support:
macos-aarch64,ios-arm64,ios-sim-arm64,linux-aarch64,linux-x86_64
EIR and runtime boundary
- Typed EIR target:
runtime.strncmp - Backend boundary:
src/codegen/lower_inst/runtime_calls.rsresolves the typed target without PHP-name dispatch.
Signature summary
function strncmp(string $string1, string $string2, int $length): int
What the type checker enforces
- Arity: takes exactly 3 arguments.
Eval interpreter (magician)
Not callable from eval’d code — the magician interpreter has no entry for this builtin.