259得票1回答
使用模板Haskell获取关联类型同义词

模板Haskell能否找出类型类中声明的关联类型同义词的名称和/或声明?我期望reify可以实现我想要的功能,但它似乎没有提供所有必要的信息。它可用于获取函数类型签名: % ghci GHCi, version 7.8.3: http://www.haskell.org/ghc/ :? f...

28得票3回答
在Swift中,如何将类型转换为具有关联类型的协议?

在以下代码中,我想测试x是否为特殊控制器SpecialController。如果是,我想将currentValue作为SpecialValue获取。你该如何做?如果不使用强制转换,则可以使用其他技术。 最后一行会出现编译错误。错误为:协议"SpecialController"只能用作通用约束...

23得票1回答
关联特征类型的限制条件

以下是一个(有点勉强的)示例,以说明我想要做什么pub trait Node: Eq + Hash { type Edge: Edge; fn get_in_edges(&self) -> Vec<&Self::Edge>; fn g...

23得票1回答
Swift 3 中 Any、Hashable 和 AnyHashable 的区别是什么?

我浏览了很多教程,想要理解上述三个术语之间的区别,并找到了新术语“类型擦除”容器,但现在这让我感到困惑,引发了很多问题。 为什么Swift引入了AnyHashable? 这三个术语之间的根本区别是什么? Any和AnyHashable之间的区别是什么? Hashable和AnyHash...

20得票4回答
Swift - 枚举的相关值或扩展

关于Swift枚举的一般问题。我想创建一个包含“icon”和“associate”的枚举,并将一个值与枚举案例相关联。enum Icon { case plane case arrow case logo case flag } 我希望为枚举类型的值创建关联的图像和颜色。 例如...

19得票2回答
在Swift中无法创建符合协议的类型数组

我有以下协议和符合它的类:protocol Foo{ typealias BazType func bar(x:BazType) ->BazType } class Thing: Foo { func bar(x: Int) -> Int { ...

16得票2回答
为什么我会收到错误信息“特征 `Foo` 没有为 `&mut T` 实现”,即使T已经实现了该特征?

我有这个源代码: pub fn draw<G, C>(&self, font: &mut C, draw_state: &DrawState, transform: Matrix2d, g: &mut G) where C: Charact...

16得票2回答
如何在关联类型中定义特质约束?

我希望编写一个函数,它能够接受实现了 ToString trait 的类型的 Iterator。 我的想法是: fn parse<T: Iterator /* ?T::Item : ToString? */>(mut args: T) -> Result<Strin...

15得票2回答
为什么在集合和数组中,计数返回不同类型?

当我扩展Collection时,count的类型是IndexDistance。 当我扩展Array时,count的类型是Int。 为什么会有这样的区别?这是最近的改变还是一直都是这样的? 我读了这个答案,但没学到太多东西。 唯一觉得相关的事情,但不理解的是: 另一个好处是,这[...

14得票3回答
具有通用类型的协议函数

我想创建一个类似以下的协议:protocol Parser { func parse() -> ParserOutcome<?> } enum ParserOutcome<Result> { case result(Result) cas...