Resultados da pesquisa a pedido "associated-types"

1 a resposta

Por que limites de estreito diferentes do primeiro não são reconhecidos em um tipo associado?

Esse snippet é válido no Rust 1.26.1: use std::ops::AddAssign; trait Trait where for<'a> Self: AddAssign<Self> + AddAssign<&'a Self> + Sized, { } trait Trait2 { type Associated: Trait; fn method(u32) -> Self::Associated; } fn func<T2: Trait2>() ...

2 a resposta

Por que recebo o erro "a característica` Foo` não está implementada para `& mut T`" ", apesar de T implementar a característica?

Eu tenho esta fonte: pub fn draw<G, C>(&self, font: &mut C, draw_state: &DrawState, transform: Matrix2d, g: &mut G) where C: CharacterCache, G: Graphics<Texture = <C as CharacterCache>::Texture>, { self.properties.draw( self.text.as_str(), ...

2 a resposta

Retornando a subclasse em uma estática UIViewController

Considere uma classe UIViewController básica ... class Rooms: UIViewController { class func instantiate()->Rooms { } static func make()->Rooms { let emplacedAndSetup = self.instantiate() // various kodes here // very likely put s.view somewhere ...

1 a resposta

Por que não podemos converter para tipos de protocolo com tipos associados, mas obter o mesmo efeito usando genéricos?

Considere este código: extension Collection { func foo() -> Int { if self.first is Collection { return (self.first as! Collection).underestimatedCount // ERROR } else { return self.underestimatedCount } } }Temos o temido e aparentemente ...

2 a resposta

Não foi possível usar o protocolo como tipo associado em outro protocolo no Swift

Eu tenho um protocoloAddress, que herda de outro protocolo,ValidatoreAddress cumpre oValidator requisito na extensão. Existe outro protocolo,FromRepresentable, que tem umassociatedType (ValueWrapper) requisito que deve serValidator. Agora, se ...

2 a resposta

Não é possível criar uma matriz de tipos em conformidade com um protocolo no Swift

Eu tenho o seguinte protocolo e uma classe em conformidade com ele: protocol Foo{ typealias BazType func bar(x:BazType) ->BazType } class Thing: Foo { func bar(x: Int) -> Int { return x.successor() } }Quando tento criar uma matriz de foos, ...