Module 如果返回类型位于专用模块后面,如何指定返回类型?

Module 如果返回类型位于专用模块后面,如何指定返回类型?,module,rust,Module,Rust,是否可以推断出类型?模块client和stream是私有的,但是client::ClientSession和stream::stream是顶级的rustls板条箱。您应该可以这样写: module `stream` is private private module module `client` is private private module fn connect_tls()->结果{ 这个版本根本没有提到那些私有模块,所以您可以使用文档中显示的类型。如果您不需要确切的类型,而是

是否可以推断出类型?

模块
client
stream
是私有的,但是
client::ClientSession
stream::stream
是顶级的
rustls
板条箱。您应该可以这样写:

module `stream` is private

private module

module `client` is private

private module
fn connect_tls()->结果{

这个版本根本没有提到那些私有模块,所以您可以使用文档中显示的类型。

如果您不需要确切的类型,而是需要它的特性,那么您可以使用
->Result
->Result
,尽管我不确定这样是否可以编译
module `stream` is private

private module

module `client` is private

private module
fn connect_tls() -> Result<rustls::Stream<rustls::ClientSession, TcpStream>, Box<dyn Error>> {}