Skip to main content

compare

Function compare 

Source
pub fn compare(
    runtime: &Runtime,
    a: &Value,
    b: &Value,
) -> Result<Ordering, SoilError>
Expand description

The derived total order.

F64 follows total_cmp with the NaN distinctions collapsed (micro-pin §8.3): all NaN bit patterns are one logical value that sorts after +Inf; -0.0 < 0.0. Records compare field-wise in declaration order (skipping ignored), sums by variant index then payload, lists and maps lexicographically then by length. Map comparators are structure, not content, and are excluded. Comparing values of different types — or reaching a closure — is an error the static checker normally rules out.