diff --git a/lib/src/revset_parser.rs b/lib/src/revset_parser.rs index 76c8fc3be..7f65f19cb 100644 --- a/lib/src/revset_parser.rs +++ b/lib/src/revset_parser.rs @@ -542,11 +542,7 @@ fn parse_function_expression( name, itertools::chain( state.function_map.keys().copied(), - state - .aliases_map - .function_aliases - .keys() - .map(|n| n.as_ref()), + state.aliases_map.function_names(), ), ), }, @@ -586,6 +582,11 @@ impl RevsetAliasesMap { Ok(()) } + /// Iterates function names in arbitrary order. + pub fn function_names(&self) -> impl Iterator { + self.function_aliases.keys().map(|n| n.as_ref()) + } + pub fn get_symbol(&self, name: &str) -> Option<&str> { self.symbol_aliases.get(name).map(|defn| defn.as_ref()) }