Почему в моей пустой программе слишком много неиспользуемых импортов?

Ваш пример будет выводить Clone без каких-либо проблем, если вы явно отметите, что T должен реализовывать Clone, например:

#[derive(Clone)]
struct Foo<'a, T: 'a> {
    t: &'a T,
}

fn bar<'a, T: Clone>(foo: Foo<'a, T>) {
    foo.clone();
}

( Ссылка на игровое поле )

Кажется необычным, что вы можете явно не указывать привязку, но ответ Shepmaster, похоже, предполагает, что компилятор вставляет его неявно, поэтому мое предложение функционально идентично.

-1
задан Dr.CSharp 25 March 2019 в 15:50
поделиться