problemi che compongono una funzione con un tratto Aggiungi in Rust [closed]

0

Sto provando a scrivere una sommatoria di funzioni generiche in ruggine, ma inutilmente. Qualcuno potrebbe chiarire il problema?

fn summ<T:Add>(a:T,b:T)->T  {
    a+b
} 
    
posta tyro1 22.06.2015 - 14:14
fonte

2 risposte

1

Il metodo Add add non restituisce Self - restituisce Self::Output . Ciò consente all'aggiunta di restituire un tipo diverso rispetto agli addendi. Il tipo di ritorno di summ dovrebbe riflettere questo:

fn summ<T: Add>(a: T, b: T) -> T::Output  {
    a + b
}
    
risposta data 22.06.2015 - 18:26
fonte
0

Non so molto su Rust, ma suppongo che dal momento che non ci siano vincoli su T , non c'è modo di sapere che anche ha un operatore + . Probabilmente dovresti limitare T per implementare std::ops::Add .

    
risposta data 22.06.2015 - 14:49
fonte

Leggi altre domande sui tag