2016-04-23 7 views
2

Gibt es eine Möglichkeit, einen Typhinweis für eine Trait-Methode bereitzustellen, ohne den Empfänger in die Argumentliste zu verschieben?Rust Typ Hinweis mit Methodenaufrufsyntax

Zum Beispiel, wenn ich einige x haben und

x.foo(y) 

nennen und ich muss klarstellen, dass foo ein Verfahren des Merkmals T ist, muss ich es so schreiben:

<_ as T>::foo(x, y) 

oder gibt es eine Syntax, die eher wie folgt aussieht

x::<as T>.foo(y) 

das kann ich verwenden?

+1

BTW '<_ as T> :: foo' geschrieben werden kann' T :: foo' – delnan

+0

Ach ja, richtig. Aber das sieht immer noch weniger wie ein Methodenaufruf und mehr wie ein Funktionsaufruf aus. – dspyz

Antwort

1

Sie müssen nur darauf achten, dass das Merkmal T in ihrem Umfang mit einer use Aussage ist ...