rust: bssl-tls: feature gate the sync_io module

It needs `std` environment to work really.

Signed-off-by: Xiangfei Ding <xfding@google.com>
Change-Id: I4589296ec144b52982228c663968a0bc6a6a6964
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/94827
Reviewed-by: David Benjamin <davidben@google.com>
Presubmit-BoringSSL-Verified: boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com <boringssl-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Adam Langley <agl@google.com>
diff --git a/rust/bssl-tls/src/io.rs b/rust/bssl-tls/src/io.rs
index d454e2f..756aab3 100644
--- a/rust/bssl-tls/src/io.rs
+++ b/rust/bssl-tls/src/io.rs
@@ -47,7 +47,7 @@
 
 #[cfg(feature = "std")]
 pub mod stdio;
-/// Synchronous I/O adapters.
+#[cfg(feature = "std")]
 pub mod sync_io;
 
 #[cfg(all(unix, feature = "std"))]
diff --git a/rust/bssl-tls/src/io/sync_io.rs b/rust/bssl-tls/src/io/sync_io.rs
index 83c1b6a..f5419dc 100644
--- a/rust/bssl-tls/src/io/sync_io.rs
+++ b/rust/bssl-tls/src/io/sync_io.rs
@@ -12,6 +12,8 @@
 // See the License for the specific language governing permissions and
 // limitations under the License.
 
+//! Synchronous I/O adapters.
+
 use crate::io::stdio::PollFor;
 use crate::io::{AbstractReader, AbstractSocket, AbstractSocketResult, AbstractWriter};
 use std::{