···5555fn enumerate_tests() {
5656 let f: EnumFixture = serde_json::from_str(ENUMERATE_JSON).unwrap();
5757 for t in &f.tests {
5858- let result = enumerate(&t.record);
5959- let result_set: HashSet<String> = result
6060- .iter()
6161- .map(|p| {
5858+ let result_set: HashSet<String> = enumerate(&t.record)
5959+ .map(|(p, _value)| {
6260 let ty = match p.path_type {
6361 PathType::Scalar => "scalar",
6462 PathType::Vector => "vector",
+7-1
spec.md
···223223Lexicon evolution rules forbid **type changes** across schema revisions, so a plain object ref cannot be converted to a union in a lexicon-forward-compatibility-compliant revision under the same NSID, so RecordPath canonicalization is hopefully safe from forward-compatible lexicon changes.
224224225225226226-todo:
226226+#### todo
227227228228- api recommendations for scalar vs vector queries
229229···235235 - backlinks example: match links on non-link fields if they happen to parse
236236237237- bring back the expected order of matches: depth-first-search order (probably as a "should")
238238+239239+- include cbor/drisl -- keep json for examples, but all this should be applicable
240240+241241+#### questions
242242+243243+- should an empty RecordPath be legal? would match the entire record.