rust - 为什么我的 TryFrom 实现没有> 封面 TryFrom>?
问题描述
当我尝试编译这一行时,opt.positionals = Positionals::try_from(opt.args).unwrap();
我收到一个关于未实现特征的错误。这个特征应该像我一样一般地实现TryFrom<Vec<T>>
这是错误,
error[E0277]: the trait bound `Positionals: TryFrom<Vec<String>>` is not satisfied
--> bin/seq.rs:83:20
|
83 | opt.positionals = Positionals::try_from(opt.args).unwrap();
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `TryFrom<Vec<String>>` is not implemented for `Positionals`
|
= help: the following implementations were found:
<Positionals as TryFrom<Vec<T>>>
这是我对特征的实现,
use std::convert::TryFrom;
impl<T: Debug + AsRef<String> + Into<String> + Clone> TryFrom<Vec<T>> for Positionals {
为什么我的实施不TryFrom<Vec<T>>
涵盖具体内容TryFrom<Vec<String>>
,我该如何解决这个问题?
解决方案
String
不执行AsRef<String>
。您可以使用AsRef<str>
orBorrow<String>
代替。