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.

questionAnswers(2)

yourAnswerToTheQuestion