我正在使用yup_oauth2,并试图创建一个实现Token
特性的GetToken
源,以便在Google Compute Engine上使用。
pub trait GetToken {
fn token<'b, I, T>(&mut self, scopes: I) -> Result<Token, Box<Error>>
where
T: AsRef<str> + Ord + 'b,
I: IntoIterator<Item = &'b T>;
fn api_key(&mut self) -> Option<String>;
}
根据应用程序在哪里运行,我想解析为实现上述特征的不同类型,但是编译器并不满意,因为带有泛型的特征显然对特征对象不安全。
解决这种问题的惯用方法是什么?