{"record":{"id":"e6cebd599ebef980","repo":"dbt-labs/dbt-core","slug":"ordereddict-has-no-method-named-name","errorCode":null,"errorMessage":"OrderedDict has no method named {name}","messagePattern":"OrderedDict has no method named (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/dbt-agate/src/lib.rs","lineNumber":604,"sourceCode":"                let key = iter.next_arg::<&Value>()?;\n                let default = iter.next_kwarg::<Option<&Value>>(\"default\")?;\n                iter.finish()?;\n\n                let mut inner = self.inner.lock().expect(\"lock poisoned\");\n                if let Some((value, new)) = inner.pop(key) {\n                    *inner = new;\n                    Ok(value)\n                } else if let Some(default) = default {\n                    Ok(default.clone())\n                } else {\n                    Err(minijinja::Error::new(\n                        ErrorKind::NonKey,\n                        \"pop(): key not found\",\n                    ))\n                }\n            }\n\n            _ => Err(minijinja::Error::new(\n                ErrorKind::UnknownMethod,\n                format!(\"OrderedDict has no method named {name}\"),\n            )),\n        }\n    }\n}\n\n/// A generic container for immutable data that can be accessed either by\n/// numeric index or by key. This is similar to a Python `OrderedDict` except\n/// that the keys are optional and iteration over it returns the values instead\n/// of keys.\n///\n/// Implementors should delegate Object and fmt::Display methods to this trait.\npub trait MappedSequence {\n    // https://github.com/wireservice/agate/blob/master/agate/mapped_sequence.py\n\n    /// The equivalent of Python's type(self).__name__.\n    fn type_name(&self) -> &str {","sourceCodeStart":586,"sourceCodeEnd":622,"githubUrl":"https://github.com/dbt-labs/dbt-core/blob/0267ce9170576975b76b64ce856b2e5848e96617/crates/dbt-agate/src/lib.rs#L586-L622","documentation":"Method-dispatch guard in the OrderedDict Jinja object: call_method received a method name that has no matching arm, meaning the template called a method that this OrderedDict emulation does not implement.","triggerScenarios":"Thrown at crates/dbt-agate/src/lib.rs:604 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use one of the implemented methods (pop, keys, values, items, get, etc.)","Implement the missing method in the OrderedDict call_method dispatch in dbt-agate/src/lib.rs","Check the method name for typos in the Jinja template"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"0267ce9170576975b76b64ce856b2e5848e96617","analyzedAt":"2026-09-07T21:53:39.732Z","contentChangedAt":"2026-09-07T21:53:39.732Z","schemaVersion":2},"datasetVersion":"2026-09-17T15:17:12.973Z"}