{"ast_node_type":"function","tokens":[{"end":55,"kind":"keyword","start":0,"text":"pub"}]}
    pub fn new(name: &str) -> Result<CrateName, &str> {
    /// hence the input string is returned as `Err` for those cases.
        if name.contains('-') { Err(name) } else { Ok(Self(Symbol::intern(name))) }