Resultados de la búsqueda a petición "generics"

1 la respuesta

ntentando escribir una función genérica para analizar JSON en Structs codificables

Actualmente estoy analizando JSON como este struct ExampleStruct : Codable { init() { } // implementation } if let jsonData = jsonString.data(using: .utf8) { do { let decoder = JSONDecoder() let object = try decoder.decode(ExampleStruct.self, ...

1 la respuesta

¿Por qué los límites de supertrait distintos del primero no se reconocen en un tipo asociado?

ste fragmento es válido en 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: ...

1 la respuesta

¿Tipo genérico para obtener claves de enumeración como cadena de unión en mecanografiado?

Considere la siguiente enumeración mecanografiada: enum MyEnum { A, B, C }; Si quiero otro tipo que son las cadenas unidas de las claves de esa enumeración, puedo hacer lo siguiente: type MyEnumKeysAsStrings = keyof typeof MyEnum; // "A" | "B" ...

2 la respuesta

Overriding un método con un tipo de retorno genérico falla después de agregar un parámetro

Me pregunto por qué es una anulación válida: public abstract class A { public abstract <X> Supplier<X> getSupplier(); public static class B extends A { @Override public Supplier<String> getSupplier() { return String::new; } } } Mientras que ...

5 la respuesta

¿Por qué es Predicate <? super SomeClass> no aplicable a Object?

Supongamos que tenemos un predicado declarado comoPredicate<? super SomeClass>. Ingenuamente esperaría que sea aplicable a cualquier superclase deSomeClass arriba de la jerarquía, incluyendoObject. Sin embargo, este predicado no es aplicable ...

1 la respuesta

C # 7.3 Restricción de Enum: ¿Por qué no puedo usar la palabra clave enum?

Para restringir un parámetro de tipo genérico para que sea de un tipo de enumeración, anteriormente los restringí de esta manera, que fue lo mejor que pude para restringir el tipo T para enumeraciones en pre-C # 7.3: void DoSomething<T>() where ...

1 la respuesta

¿Cómo escribir un rasgo vinculado para una referencia a un tipo asociado en el rasgo mismo?

Tengo este código: extern crate serde; use serde::de::DeserializeOwned; use serde::Serialize; trait Bar<'a, T: 'a> where T: Serialize, &'a T: DeserializeOwned, { } Me gustaría escribir esto usando un tipo asociado, porque el tipoT no es ...

2 la respuesta

Utilizando delegados en el protocolo genérico

Tengo este código: protocol GenericProtocol: class { associatedtype type func funca(component: type) } class MyType<T> { weak var delegate: GenericProtocol? // First error var t: T init(t: T) { self.t = t } func finished() { ...

1 la respuesta

Obtener el tipo de retorno de una función que usa genéricos

Descargo de responsabilidad: siguen funciones demasiado simplificadas, soy consciente de que son inútiles function thinger<T>(thing: T): T { return thing; } const thing = thinger({ a: "lol" }); thing.a;El código anterior se transpila muy bien. ...

1 la respuesta

¿Cómo implemento std :: ops conmutativos genéricos que involucran un tipo incorporado para objetos de rasgos?

Yo tengo: use std::ops::{Add, Div, Mul, Neg, Sub}; pub trait Hilbert: Add + Sub + Mul + Div + Neg + Mul<f64, Output = Self> + Div<f64, Output = Self> + Sized + Copy { fn dot(&self, other: &Self) -> f64; fn magnitude(&self) -> f64; } fn ...