5
我想要一個功能foo
,該功能採用實現特徵A
的類型的實例。我總是喜歡以使用泛型具有靜態調度:使用動態和靜態調度來實現特徵實現者的功能
trait A {}
fn foo<T: A>(t: T) {}
然而,這種方法引入了一些靈活性,我無法通過一個特質對象喜歡這裏:
trait A {}
fn foo(t: &A) {}
的事情是,有時我知道類型,有時不知道。有沒有一種方法可以爲編譯時間已知類型同時擁有對特徵對象的動態分派和靜態分派,同時又不會執行兩次?
我不確定我是否完全理解你的'fn foo'。 'Sized'上總是沒有隱含的限制嗎? – torkleyy
@torkleyy在函數參數上,是的。這是可以的,因爲我們提供的是無論如何確實總是大小。第二個函數使用'&T',即使T不是,也可以調整大小。 –