Estrutura genérica sobre um tipo genérico sem parâmetro de tipo
É possível fazer algo assim no Rust?
trait Foo<T> {}
struct A;
struct B;
struct Bar<T: Foo> {
a: T<A>,
b: T<B>
}
Eu sei que eu poderia usar apenas dois parâmetros paraBar
, mas acho que deve haver uma maneira melhor de fazer isso.
Eu quero implementar umGraph
estrutura. Como não posso simplesmente vincular os nós e as bordas à vida de seus pais, quero ter algo comoRc
. Contudo, às vezes pode ser necessárioGraph
com acesso de vários threads. Então eu teria que ter uma implementação comRc
eArc
.
Isso é o queFoo
é bom para: eu implementoFoo
para ambosRc
eArc
(Foo
exigiriaDeref
) e eu uso um parâmetroT
obrigado aFoo
. Era assim que eu queria ter uma estrutura para o uso de thread único e multi thread.