diff --git a/scylla-cql/Cargo.toml b/scylla-cql/Cargo.toml index aa52406cc7..77f8c3cd2a 100644 --- a/scylla-cql/Cargo.toml +++ b/scylla-cql/Cargo.toml @@ -10,6 +10,9 @@ keywords = ["database", "scylla", "cql", "cassandra"] categories = ["database"] license = "MIT OR Apache-2.0" +[package.metadata."docs.rs"] +all-features = true + [dependencies] # Important: We use precise version of scylla-macros. This enables # us to make breaking changes in the doc(hidden) interfaces that are diff --git a/scylla-macros/Cargo.toml b/scylla-macros/Cargo.toml index ff868ba8ae..ea3ed32689 100644 --- a/scylla-macros/Cargo.toml +++ b/scylla-macros/Cargo.toml @@ -12,6 +12,9 @@ license = "MIT OR Apache-2.0" [lib] proc-macro = true +[package.metadata."docs.rs"] +all-features = true + [dependencies] darling = "0.20.10" syn = "2.0" diff --git a/scylla-proxy/Cargo.toml b/scylla-proxy/Cargo.toml index ec52009041..fd430bc251 100644 --- a/scylla-proxy/Cargo.toml +++ b/scylla-proxy/Cargo.toml @@ -10,6 +10,9 @@ keywords = ["database", "scylla", "cql", "cassandra"] categories = ["database"] license = "MIT OR Apache-2.0" +[package.metadata."docs.rs"] +all-features = true + [features] defaults = [] diff --git a/scylla/Cargo.toml b/scylla/Cargo.toml index c26ab7d9f1..18d87e3407 100644 --- a/scylla/Cargo.toml +++ b/scylla/Cargo.toml @@ -10,7 +10,7 @@ keywords = ["database", "scylla", "cql", "cassandra"] categories = ["database"] license = "MIT OR Apache-2.0" -[package.metadata.docs.rs] +[package.metadata."docs.rs"] all-features = true rustdoc-args = ["--cfg", "docsrs"] diff --git a/scylla/src/client/session_builder.rs b/scylla/src/client/session_builder.rs index 43cea271b4..a22ef5dbfc 100644 --- a/scylla/src/client/session_builder.rs +++ b/scylla/src/client/session_builder.rs @@ -329,27 +329,34 @@ impl GenericSessionBuilder { /// /// Default is None. /// - /// # Example - /// ``` - /// # use std::fs; - /// # use std::path::PathBuf; - /// # use scylla::client::session::Session; - /// # use scylla::client::session_builder::SessionBuilder; - /// # use openssl::ssl::{SslContextBuilder, SslVerifyMode, SslMethod, SslFiletype}; - /// # async fn example() -> Result<(), Box> { - /// let certdir = fs::canonicalize(PathBuf::from("./examples/certs/scylla.crt"))?; - /// let mut context_builder = SslContextBuilder::new(SslMethod::tls())?; - /// context_builder.set_certificate_file(certdir.as_path(), SslFiletype::PEM)?; - /// context_builder.set_verify(SslVerifyMode::NONE); - /// - /// let session: Session = SessionBuilder::new() - /// .known_node("127.0.0.1:9042") - /// .tls_context(Some(context_builder.build())) - /// .build() - /// .await?; - /// # Ok(()) - /// # } - /// ``` + #[cfg_attr( + feature = "openssl-010", + doc = r#" +# Example + +``` + # async fn example() -> Result<(), Box> { + use std::fs; + use std::path::PathBuf; + use scylla::client::session::Session; + use scylla::client::session_builder::SessionBuilder; + use openssl::ssl::{SslContextBuilder, SslVerifyMode, SslMethod, SslFiletype}; + + let certdir = fs::canonicalize(PathBuf::from("./examples/certs/scylla.crt"))?; + let mut context_builder = SslContextBuilder::new(SslMethod::tls())?; + context_builder.set_certificate_file(certdir.as_path(), SslFiletype::PEM)?; + context_builder.set_verify(SslVerifyMode::NONE); + + let session: Session = SessionBuilder::new() + .known_node("127.0.0.1:9042") + .tls_context(Some(context_builder.build())) + .build() + .await?; + # Ok(()) + # } +``` +"# + )] pub fn tls_context(mut self, tls_context: Option>) -> Self { self.config.tls_context = tls_context.map(|t| t.into()); self diff --git a/scylla/src/cloud/config.rs b/scylla/src/cloud/config.rs index 56f94ad07a..b62db83ccb 100644 --- a/scylla/src/cloud/config.rs +++ b/scylla/src/cloud/config.rs @@ -35,7 +35,8 @@ pub enum CloudConfigError { /// Configuration for creating a session to a serverless cluster. /// This can be automatically created if you provide the bundle path -/// to the [`CloudSessionBuilder`] constructor. +/// to the [`CloudSessionBuilder`](crate::client::session_builder::CloudSessionBuilder) +/// constructor. #[derive(Debug)] pub struct CloudConfig { datacenters: HashMap,