Ve standardní knihovně bohužel řešení není. TcpStream má non-blocking mód a to je asi vše. Je tu kvalitní knihovna pro binding na libc, takže se dá použít select/poll (a další syscally) i tak.
Rust obecně má trochu menší standardní knihovno a mnoho kvalitních knihoven spravovaných vývojáři Rustu, Serva, atd. (příklad třeba knihovna regex nebo rand). Nejlepší obdoba selectu je asi mio která řeší event pool pro I/O. Dále se zde objevilo Futures jakožto abtrakce pro asynchronní cokoliv; a Tokio které používá Futures pro I/O streamy a HTTP a mio pro event loopy. Vše od vývojářů Rustu, jen v oddělených knihovnách.
Ale jo, je to trochu komplikovanější a méně přehledné než třeba v Go.
S Cargem je to snadný, takže asi jo. Na oficiální stránce se doporučuje i rustup - toolchain manažer. Rovnou stáhne Cargo a lze přes něj updatovat kompilátor. (A přepínat stable/beta/nightly verzi, stáhnout dokumentaci lokálně a cross-kompilovat.)
Něco málo ke Cargu, syntaxi konfiguračního souboru pro projekt a příkazy najdeš na doc.crates.io/guide.html. Trochu bych doplnil že pokud se ti nechce hledat verzi můžeš napsat jen hvězdičku rand = "*"
. Z crates.io to při kompilaci Cargem knihovny stáhne, ale můžeš nastavit i lokální nebo přes git.