associated-types

    3热度

    1回答

    我使用夫特2.2和我声明相关联型如下的协议: protocol CollectionViewModeling { associatedtype CellType func cellAtIndexPath(indexPath: NSIndexPath) -> CellType } 现在我有一个视图模型的协议符合上述协议: enum MyItemCell { cas

    12热度

    2回答

    有关快速枚举的一般问题。 我要创建“图标”和“准”的值的枚举枚举情况下 enum Icon { case plane case arrow case logo case flag } 我想创建一个相关的图像,以枚举的值。 而且也是一个相关的颜色的枚举值 因此,举例来说,如果有可能做这样的事情: extension Icon.plane { v

    1热度

    1回答

    我试图为支持特定协议的每种类型实现泛型广播函数。例如: protocol Proto { typealias ItemType typealias Callback = (Self, ItemType) func register(tag: String, cb: Callback) func unregister(tag: String) } cl

    2热度

    1回答

    在斯威夫特2子协议父协议相关联的类型,我有一个协议: protocol Protocol { typealias Type } 当我想用Protocol没有定义使用什么类型Type: var protocol1: Protocol 然后我发现了以下错误: Protocol 'Protocol' can only be used as a generic constraint b

    1热度

    1回答

    我不能想出一个办法,使这个代码编译--cfg on_trait: trait DigitCollection: Sized { type Iter: Iterator<Item = u8>; fn digit_iter(self) -> Self::Iter; #[cfg(on_trait)] fn digit_sum(self) -> u32 {

    0热度

    1回答

    因此,我不必编写大量代码来复制我的错误 - 这可能是我应该在这种情况下使用泛型,但感觉就像我的解决方案应该工作。所以,下面的代码块给我一个“类型DCServiceClient不符合协议DMServiceClient”: protocol DMServiceEndpoint { } protocol DCServiceEndpoint: DMServiceEndpoint { } protoc

    4热度

    2回答

    我试图在Rust上使用特征和关联类型实现某些功能。我不知道如何用文字形成我的问题,所以我会添加一段代码片段,希望能够说明我正在尝试做什么。 pub trait Person {} pub trait Directory<P: Person> { type Per = P; fn get_person(&self) -> Self::Per; } pub trait C

    0热度

    1回答

    示例:给出的以下性状, trait DirectedAcyclicGraph<V, E> where V: Add, E: Add 我想为每当类型V的到被返回V类型的另一个值的相同类型的值的值。只要将类型E的值添加到同一类型的另一个值,我想要返回另一个E。 天真,我认为这可能是在正确的方向, trait DirectedAcyclicGraph<V, E> where V: Add<Outpu

    0热度

    1回答

    目标很简单 - 在(0,0)处获取颜色,并在指定阈值(本例中为16384)内移除图像中与其相似的任何像素。但是,下面的代码无法编译: #![feature(env, old_path, core, old_io)] extern crate image; use std::env; use std::num::ToPrimitive; use std::old_io::File; u

    2热度

    1回答

    我发现自己相同的边界下与议论文写作不同的功能,例如: pub fn foo<T>(mut self, path: T) -> Self where T: IntoIterator, T::Item: AsRef<str>, { // ... } pub fn bar<T>(mut self, path: T) -> Self where T: Int