首页 > 解决方案 > 具有泛型参数的函数的 trait 对象

问题描述

我有一个看起来像这样的特征:

pub trait Trait<K, V> 
{
    fn f<Q>(&self, k: &Q) -> Option<&V>
        where K: Borrow<Q>;
}

当我尝试编写函数时

fn create<K, V>(params here) -> Box<dyn Trait<K, V>> {
...
}

根据参数实例化满足特征的对象之一,我收到以下错误:

the trait `Trait` cannot be made into an object
   |
   = note: method `f` has generic type parameters

我真的不明白为什么会发生这种情况,或者如何解决它。

标签: rust

解决方案


推荐阅读