Rust 为什么可以';我不能在分手时再打电话给下一个吗?
的文档说明它实现了一个应该有一个获取最后一个元素的方法 但当我这么做的时候:Rust 为什么可以';我不能在分手时再打电话给下一个吗?,rust,Rust,的文档说明它实现了一个应该有一个获取最后一个元素的方法 但当我这么做的时候: fn获取文件外部(文件名:&str)->选项{ 如果let Some(ext)=文件名.split(“.”).next\u back(){ 返回一些(外接至_owned()); } 没有一个 } 我得到这个错误: error[E0599]:没有为struct`std::str::Split找到名为`next_back`的方法` | =注意:存在“next_back”方法,但不满足以下特征界限: `std::str::
fn获取文件外部(文件名:&str)->选项{
如果let Some(ext)=文件名.split(“.”).next\u back(){
返回一些(外接至_owned());
}
没有一个
}
我得到这个错误:
error[E0599]:没有为struct`std::str::Split找到名为`next_back`的方法`
|
=注意:存在“next_back”方法,但不满足以下特征界限:
`std::str::pattern::strsarcher:std::str::pattern::DoubleEndedSearcher:std::iter::DoubleEndedIterator`
什么是“未满足以下特征界限”
?解决方案
替换
file_name.split(".")
与
解释
以下是trait实现声明:
impl<'a, P> DoubleEndedIterator for Split<'a, P>
where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,
impl
哪里
P:Pattern>::Searcher:DoubleEndedSearcher>::Searcher:DoubleEndedSearcher谢谢!阅读您的答案后,文档中的这些类型注释会更有意义。
impl<'a, P> DoubleEndedIterator for Split<'a, P>
where
P: Pattern<'a>,
<P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,
<P as Pattern<'a>>::Searcher: DoubleEndedSearcher<'a>,