pub fn builtin_operand_types(name: &str) -> Vec<OperandTypes>Expand description
Returns every built-in overload’s declared operand types for name, in registration order.
Reads the exact same static signature tables BuiltinScope::lookup dispatches against, so
the static type checker and the runtime dispatcher share one source of truth and can’t drift
apart on which operand-type combinations a built-in operator accepts.
-
Postcondition: returns an empty
Vecifnamenames no built-in operator. A custom scope registered viaOpLookup::push_scopeor a tuple-shaped op registered viaOpLookup::register_tuple_opis runtime-only (attached to oneOpLookupinstance, not this module’s static tables) and is not visible here — the type checker treats such an operator as unchecked, not an error. -
Complexity: O(s) where s is the number of overloads registered for
name.
§Examples
use cel_parser::op_table::builtin_operand_types;
assert!(builtin_operand_types("+").iter().any(|sig| sig.arity == 2));
assert!(builtin_operand_types("not_an_operator").is_empty());