2016-10-20 1 views

Répondre

8

Il y a, bien que cela ressemble à un peu de magie noire.

Vous devez combiner 3 bits de syntaxe:

  • la mise en œuvre de trait d'un type est accessible via <Type as Trait>
  • spécifiant le RHS exige simplement passer comme paramètre Add<???>
  • et enfin obtenir un le type associé d'un trait nécessite simplement d'utiliser Trait::OutputType (ce qui peut être ambigu)

En combinant les 3 ensemble, nous obtenons <Self as Add<RhsType>>::Output.

+0

Merci! C'était exactement ce que je cherchais. Spécifier RHS comme paramètre générique était la partie manquante du puzzle dans mon cas. – lloydmeta