【发布时间】:2020-12-31 14:50:27
【问题描述】:
如果我知道但静态无法确定,我如何告诉编译器“
我正在使用 jwt crate(版本 0.11)的库函数将 jwt 令牌的字符串表示解析为令牌“Token
(https://docs.rs/jwt/0.11.0/jwt/struct.Token.html#method.claims):
let token : Result<Header, Claims> = jwt::Token::parse_unverified(token_as_string.as_str());
我知道 H 的类型是 Header 而 C 的类型是 Claims (Unverified 已经是正确识别的类型)。如果我这样写代码,我会收到以下错误
不匹配的类型 [E0308] 预期
Result<Header, Claims>,发现Result<Token<<unknown>, <unknown>, Unverified>, Error>
这是有道理的,该函数不知道标头的类型和声明,因为 Base64 编码的令牌需要解析。但是,我怎样才能告诉编译器的类型?我尝试使用上面的类型注释作为令牌,但这显然不起作用。
【问题讨论】:
标签: rust