我可以创建针对实现 Pattern 的泛型类型的匹配吗?

Cam*_*rzt 1 generics pattern-matching rust

我认为如果我能算出生命周期符号,这可能会起作用,我错了吗?

pub fn from<T:Pattern>(from: T) -> Result<Tag, &'static str> {
    match from {
        'A'|"A" => Ok(Tag::ChA),
        'B'|"B" => Ok(Tag::ChB),
        'C'|"C" => Ok(Tag::ChC),
        'D'|"D" => Ok(Tag::ChD),
        'T'|"Tmpr" => Ok(Tag::Tmpr),
        'Y'|"Batt" => Ok(Tag::Batt),
        'L'|"Acc" => Ok(Tag::Acc),
        _ => Err("Error: unknown channel"),
    }
}
Run Code Online (Sandbox Code Playgroud)

A.B*_*.B. 5

匹配仅适用于具体类型,因此答案是否定的。T除了我们可以调用其中定义的方法Pattern(用于在字符串中搜索)之外,我们对这里的类型一无所知。