Как tokio :: net :: TcpStream реализует tokio :: prelude :: Stream?

В документах tokio.rs мы видим следующий фрагмент

// split the socket stream into readable and writable parts
let (reader, writer) = socket.split();
// copy bytes from the reader into the writer
let amount = io::copy(reader, writer);

Я предполагаю, что split действительно Stream::split , но я не могу понять, как эта черта применима к TcpStream , учитывая, что на странице потока не упоминается TcpStream и наоборот.


person benjumanji    schedule 28.05.2019    source источник
comment
Что вы имеете в виду под "как"? Почти все свойства реализованы для типа одинаково: impl Trait for Type { ... }. Иногда этот код создается макросом или чем-то еще, но в конечном итоге это одно и то же.   -  person Shepmaster    schedule 28.05.2019
comment
В документации показано, какие черты есть реализованы для типа и какие методы они предоставляют.   -  person Shepmaster    schedule 28.05.2019
comment
Вы можете проверить, реализует ли тип признак: Как добиться того, чтобы тип реализовал признак во время компиляции?   -  person Shepmaster    schedule 28.05.2019
comment
Возможно, мои правки помогут вам понять, о чем я прошу. Я знаю, как определяются черты характера. Мой вопрос в том, что, учитывая, что между ними нет очевидного, как мне установить эту связь? Это какая-то цепочка бланкетных реализаций? Я понятия не имею.   -  person benjumanji    schedule 29.05.2019
comment
Когда я связался с документацией для _1 _, вы искали на странице метод split?   -  person Shepmaster    schedule 29.05.2019
comment
Ну цвет меня смутил. Клянусь, я потратил целую вечность, читая это сочетание клавиш + ctrl-f. Стыд!   -  person benjumanji    schedule 29.05.2019


Ответы (1)