{"ast_node_type":"function","tokens":[{"end":92,"kind":"keyword","start":0,"text":"pub"}]}
    pub fn canonical_path(&self, db: &dyn HirDatabase, edition: Edition) -> Option<String> {
        let mut segments = vec![self.name(db)?];