Struct Client

Source
pub struct Client { /* private fields */ }
Expand description

A client for interacting with Uptime Kuma.

Example:

// Connect to the server
let client = Client::connect(Config {
        url: Url::parse("http://localhost:3001").expect("Invalid URL"),
        username: Some("Username".to_owned()),
        password: Some("Password".to_owned()),
        ..Default::default()
    })
    .await
    .expect("Failed to connect to server");

// Create a tag
let tag_definition = client
    .add_tag(TagDefinition {
        name: Some("example_tag".to_owned()),
        color: Some("red".to_owned()),
        ..Default::default()
    })
    .await
    .expect("Failed to add tag");

// Create a group
let group = client
    .add_monitor(MonitorGroup {
        name: Some("Example Group".to_owned()),
        tags: vec![Tag {
            tag_id: tag_definition.tag_id,
            value: Some("example_group".to_owned()),
            ..Default::default()
        }],
        ..Default::default()
    })
    .await
    .expect("Failed to add group");

// Createa a notification
let notification = client
    .add_notification(Notification {
        name: Some("Example Notification".to_owned()),
        config: Some(serde_json::json!({
            "webhookURL": "https://webhook.site/304eeaf2-0248-49be-8985-2c86175520ca",
            "webhookContentType": "json"
        })),
        ..Default::default()
    })
    .await
    .expect("Failed to add notification");

// Create a monitor
client
    .add_monitor(MonitorHttp {
        name: Some("Monitor Name".to_owned()),
        url: Some("https://example.com".to_owned()),
        parent: group.common().id().clone(),
        tags: vec![Tag {
            tag_id: tag_definition.tag_id,
            value: Some("example_monitor".to_owned()),
            ..Default::default()
        }],
        notification_id_list: Some(
            vec![(
                notification.id.expect("No notification ID").to_string(),
                true,
            )]
            .into_iter()
            .collect(),
        ),
        ..Default::default()
    })
    .await
    .expect("Failed to add monitor");

let monitors = client.get_monitors().await.expect("Failed to get monitors");
println!("{:?}", monitors);

Implementations§

Source§

impl Client

Source

pub async fn connect(config: Config) -> Result<Client>

Examples found in repository?
examples/get_monitors.rs (lines 5-10)
4async fn main() {
5    let client = Client::connect(Config {
6        url: Url::parse("http://localhost:3001").expect("Invalid URL"),
7        username: Some("Username".to_owned()),
8        password: Some("Password".to_owned()),
9        ..Default::default()
10    })
11    .await
12    .expect("Failed to connect to server");
13
14    let monitors = client.get_monitors().await.expect("Failed to get monitors");
15    println!("{:?}", monitors);
16}
More examples
Hide additional examples
examples/create_monitor.rs (lines 11-16)
9async fn main() {
10    // Connect to the server
11    let client = Client::connect(Config {
12        url: Url::parse("http://localhost:3001").expect("Invalid URL"),
13        username: Some("Username".to_owned()),
14        password: Some("Password".to_owned()),
15        ..Default::default()
16    })
17    .await
18    .expect("Failed to connect to server");
19
20    // Create a tag
21    let tag_definition = client
22        .add_tag(TagDefinition {
23            name: Some("example_tag".to_owned()),
24            color: Some("red".to_owned()),
25            ..Default::default()
26        })
27        .await
28        .expect("Failed to add tag");
29
30    // Create a group
31    let group = client
32        .add_monitor(MonitorGroup {
33            name: Some("Example Group".to_owned()),
34            tags: vec![Tag {
35                tag_id: tag_definition.tag_id,
36                value: Some("example_group".to_owned()),
37                ..Default::default()
38            }],
39            ..Default::default()
40        })
41        .await
42        .expect("Failed to add group");
43
44    // Createa a notification
45    let notification = client
46        .add_notification(Notification {
47            name: Some("Example Notification".to_owned()),
48            config: Some(serde_json::json!({
49                "webhookURL": "https://webhook.site/304eeaf2-0248-49be-8985-2c86175520ca",
50                "webhookContentType": "json"
51            })),
52            ..Default::default()
53        })
54        .await
55        .expect("Failed to add notification");
56
57    // Create a monitor
58    client
59        .add_monitor(MonitorHttp {
60            name: Some("Monitor Name".to_owned()),
61            url: Some("https://example.com".to_owned()),
62            parent: group.common().id().clone(),
63            tags: vec![Tag {
64                tag_id: tag_definition.tag_id,
65                value: Some("example_monitor".to_owned()),
66                ..Default::default()
67            }],
68            notification_id_list: Some(
69                vec![(
70                    notification.id.expect("No notification ID").to_string(),
71                    true,
72                )]
73                .into_iter()
74                .collect(),
75            ),
76            ..Default::default()
77        })
78        .await
79        .expect("Failed to add monitor");
80
81    let monitors = client.get_monitors().await.expect("Failed to get monitors");
82    println!("{:?}", monitors);
83}
Source

pub async fn get_monitors(&self) -> Result<MonitorList>

Retrieves a list of monitors from Uptime Kuma.

Examples found in repository?
examples/get_monitors.rs (line 14)
4async fn main() {
5    let client = Client::connect(Config {
6        url: Url::parse("http://localhost:3001").expect("Invalid URL"),
7        username: Some("Username".to_owned()),
8        password: Some("Password".to_owned()),
9        ..Default::default()
10    })
11    .await
12    .expect("Failed to connect to server");
13
14    let monitors = client.get_monitors().await.expect("Failed to get monitors");
15    println!("{:?}", monitors);
16}
More examples
Hide additional examples
examples/create_monitor.rs (line 81)
9async fn main() {
10    // Connect to the server
11    let client = Client::connect(Config {
12        url: Url::parse("http://localhost:3001").expect("Invalid URL"),
13        username: Some("Username".to_owned()),
14        password: Some("Password".to_owned()),
15        ..Default::default()
16    })
17    .await
18    .expect("Failed to connect to server");
19
20    // Create a tag
21    let tag_definition = client
22        .add_tag(TagDefinition {
23            name: Some("example_tag".to_owned()),
24            color: Some("red".to_owned()),
25            ..Default::default()
26        })
27        .await
28        .expect("Failed to add tag");
29
30    // Create a group
31    let group = client
32        .add_monitor(MonitorGroup {
33            name: Some("Example Group".to_owned()),
34            tags: vec![Tag {
35                tag_id: tag_definition.tag_id,
36                value: Some("example_group".to_owned()),
37                ..Default::default()
38            }],
39            ..Default::default()
40        })
41        .await
42        .expect("Failed to add group");
43
44    // Createa a notification
45    let notification = client
46        .add_notification(Notification {
47            name: Some("Example Notification".to_owned()),
48            config: Some(serde_json::json!({
49                "webhookURL": "https://webhook.site/304eeaf2-0248-49be-8985-2c86175520ca",
50                "webhookContentType": "json"
51            })),
52            ..Default::default()
53        })
54        .await
55        .expect("Failed to add notification");
56
57    // Create a monitor
58    client
59        .add_monitor(MonitorHttp {
60            name: Some("Monitor Name".to_owned()),
61            url: Some("https://example.com".to_owned()),
62            parent: group.common().id().clone(),
63            tags: vec![Tag {
64                tag_id: tag_definition.tag_id,
65                value: Some("example_monitor".to_owned()),
66                ..Default::default()
67            }],
68            notification_id_list: Some(
69                vec![(
70                    notification.id.expect("No notification ID").to_string(),
71                    true,
72                )]
73                .into_iter()
74                .collect(),
75            ),
76            ..Default::default()
77        })
78        .await
79        .expect("Failed to add monitor");
80
81    let monitors = client.get_monitors().await.expect("Failed to get monitors");
82    println!("{:?}", monitors);
83}
Source

pub async fn get_monitor(&self, monitor_id: i32) -> Result<Monitor>

Retrieves information about a specific monitor identified by its ID.

Source

pub async fn add_monitor<T: Into<Monitor>>(&self, monitor: T) -> Result<Monitor>

Adds a new monitor to Uptime Kuma.

Examples found in repository?
examples/create_monitor.rs (lines 32-40)
9async fn main() {
10    // Connect to the server
11    let client = Client::connect(Config {
12        url: Url::parse("http://localhost:3001").expect("Invalid URL"),
13        username: Some("Username".to_owned()),
14        password: Some("Password".to_owned()),
15        ..Default::default()
16    })
17    .await
18    .expect("Failed to connect to server");
19
20    // Create a tag
21    let tag_definition = client
22        .add_tag(TagDefinition {
23            name: Some("example_tag".to_owned()),
24            color: Some("red".to_owned()),
25            ..Default::default()
26        })
27        .await
28        .expect("Failed to add tag");
29
30    // Create a group
31    let group = client
32        .add_monitor(MonitorGroup {
33            name: Some("Example Group".to_owned()),
34            tags: vec![Tag {
35                tag_id: tag_definition.tag_id,
36                value: Some("example_group".to_owned()),
37                ..Default::default()
38            }],
39            ..Default::default()
40        })
41        .await
42        .expect("Failed to add group");
43
44    // Createa a notification
45    let notification = client
46        .add_notification(Notification {
47            name: Some("Example Notification".to_owned()),
48            config: Some(serde_json::json!({
49                "webhookURL": "https://webhook.site/304eeaf2-0248-49be-8985-2c86175520ca",
50                "webhookContentType": "json"
51            })),
52            ..Default::default()
53        })
54        .await
55        .expect("Failed to add notification");
56
57    // Create a monitor
58    client
59        .add_monitor(MonitorHttp {
60            name: Some("Monitor Name".to_owned()),
61            url: Some("https://example.com".to_owned()),
62            parent: group.common().id().clone(),
63            tags: vec![Tag {
64                tag_id: tag_definition.tag_id,
65                value: Some("example_monitor".to_owned()),
66                ..Default::default()
67            }],
68            notification_id_list: Some(
69                vec![(
70                    notification.id.expect("No notification ID").to_string(),
71                    true,
72                )]
73                .into_iter()
74                .collect(),
75            ),
76            ..Default::default()
77        })
78        .await
79        .expect("Failed to add monitor");
80
81    let monitors = client.get_monitors().await.expect("Failed to get monitors");
82    println!("{:?}", monitors);
83}
Source

pub async fn edit_monitor<T: Into<Monitor>>( &self, monitor: T, ) -> Result<Monitor>

Edits an existing monitor in Uptime Kuma.

Source

pub async fn delete_monitor(&self, monitor_id: i32) -> Result<()>

Deletes a monitor from Uptime Kuma based on its ID.

Source

pub async fn pause_monitor(&self, monitor_id: i32) -> Result<()>

Pauses a monitor in Uptime Kuma based on its ID.

Source

pub async fn resume_monitor(&self, monitor_id: i32) -> Result<()>

Resumes a paused monitor in Uptime Kuma based on its ID.

Source

pub async fn get_tags(&self) -> Result<Vec<TagDefinition>>

Retrieves a list of tags from Uptime Kuma.

Source

pub async fn get_tag(&self, tag_id: i32) -> Result<TagDefinition>

Retrieves information about a specific tag identified by its ID.

Source

pub async fn add_tag(&self, tag: TagDefinition) -> Result<TagDefinition>

Adds a new tag to Uptime Kuma.

Examples found in repository?
examples/create_monitor.rs (lines 22-26)
9async fn main() {
10    // Connect to the server
11    let client = Client::connect(Config {
12        url: Url::parse("http://localhost:3001").expect("Invalid URL"),
13        username: Some("Username".to_owned()),
14        password: Some("Password".to_owned()),
15        ..Default::default()
16    })
17    .await
18    .expect("Failed to connect to server");
19
20    // Create a tag
21    let tag_definition = client
22        .add_tag(TagDefinition {
23            name: Some("example_tag".to_owned()),
24            color: Some("red".to_owned()),
25            ..Default::default()
26        })
27        .await
28        .expect("Failed to add tag");
29
30    // Create a group
31    let group = client
32        .add_monitor(MonitorGroup {
33            name: Some("Example Group".to_owned()),
34            tags: vec![Tag {
35                tag_id: tag_definition.tag_id,
36                value: Some("example_group".to_owned()),
37                ..Default::default()
38            }],
39            ..Default::default()
40        })
41        .await
42        .expect("Failed to add group");
43
44    // Createa a notification
45    let notification = client
46        .add_notification(Notification {
47            name: Some("Example Notification".to_owned()),
48            config: Some(serde_json::json!({
49                "webhookURL": "https://webhook.site/304eeaf2-0248-49be-8985-2c86175520ca",
50                "webhookContentType": "json"
51            })),
52            ..Default::default()
53        })
54        .await
55        .expect("Failed to add notification");
56
57    // Create a monitor
58    client
59        .add_monitor(MonitorHttp {
60            name: Some("Monitor Name".to_owned()),
61            url: Some("https://example.com".to_owned()),
62            parent: group.common().id().clone(),
63            tags: vec![Tag {
64                tag_id: tag_definition.tag_id,
65                value: Some("example_monitor".to_owned()),
66                ..Default::default()
67            }],
68            notification_id_list: Some(
69                vec![(
70                    notification.id.expect("No notification ID").to_string(),
71                    true,
72                )]
73                .into_iter()
74                .collect(),
75            ),
76            ..Default::default()
77        })
78        .await
79        .expect("Failed to add monitor");
80
81    let monitors = client.get_monitors().await.expect("Failed to get monitors");
82    println!("{:?}", monitors);
83}
Source

pub async fn edit_tag(&self, tag: TagDefinition) -> Result<TagDefinition>

Edits an existing tag in Uptime Kuma.

Source

pub async fn delete_tag(&self, tag_id: i32) -> Result<()>

Deletes a tag from Uptime Kuma based on its ID.

Source

pub async fn get_notifications(&self) -> Result<NotificationList>

Retrieves a list of notifications from Uptime Kuma.

Source

pub async fn get_notification( &self, notification_id: i32, ) -> Result<Notification>

Retrieves information about a specific notification identified by its ID.

Source

pub async fn add_notification( &self, notification: Notification, ) -> Result<Notification>

Adds a new notification to Uptime Kuma.

Examples found in repository?
examples/create_monitor.rs (lines 46-53)
9async fn main() {
10    // Connect to the server
11    let client = Client::connect(Config {
12        url: Url::parse("http://localhost:3001").expect("Invalid URL"),
13        username: Some("Username".to_owned()),
14        password: Some("Password".to_owned()),
15        ..Default::default()
16    })
17    .await
18    .expect("Failed to connect to server");
19
20    // Create a tag
21    let tag_definition = client
22        .add_tag(TagDefinition {
23            name: Some("example_tag".to_owned()),
24            color: Some("red".to_owned()),
25            ..Default::default()
26        })
27        .await
28        .expect("Failed to add tag");
29
30    // Create a group
31    let group = client
32        .add_monitor(MonitorGroup {
33            name: Some("Example Group".to_owned()),
34            tags: vec![Tag {
35                tag_id: tag_definition.tag_id,
36                value: Some("example_group".to_owned()),
37                ..Default::default()
38            }],
39            ..Default::default()
40        })
41        .await
42        .expect("Failed to add group");
43
44    // Createa a notification
45    let notification = client
46        .add_notification(Notification {
47            name: Some("Example Notification".to_owned()),
48            config: Some(serde_json::json!({
49                "webhookURL": "https://webhook.site/304eeaf2-0248-49be-8985-2c86175520ca",
50                "webhookContentType": "json"
51            })),
52            ..Default::default()
53        })
54        .await
55        .expect("Failed to add notification");
56
57    // Create a monitor
58    client
59        .add_monitor(MonitorHttp {
60            name: Some("Monitor Name".to_owned()),
61            url: Some("https://example.com".to_owned()),
62            parent: group.common().id().clone(),
63            tags: vec![Tag {
64                tag_id: tag_definition.tag_id,
65                value: Some("example_monitor".to_owned()),
66                ..Default::default()
67            }],
68            notification_id_list: Some(
69                vec![(
70                    notification.id.expect("No notification ID").to_string(),
71                    true,
72                )]
73                .into_iter()
74                .collect(),
75            ),
76            ..Default::default()
77        })
78        .await
79        .expect("Failed to add monitor");
80
81    let monitors = client.get_monitors().await.expect("Failed to get monitors");
82    println!("{:?}", monitors);
83}
Source

pub async fn edit_notification( &self, notification: Notification, ) -> Result<Notification>

Edits an existing notification in Uptime Kuma.

Source

pub async fn delete_notification(&self, notification_id: i32) -> Result<()>

Deletes a notification from Uptime Kuma based on its ID.

Source

pub async fn get_maintenances(&self) -> Result<MaintenanceList>

Retrieves a list of maintenances from Uptime Kuma.

Source

pub async fn get_maintenance(&self, maintenance_id: i32) -> Result<Maintenance>

Retrieves information about a specific maintenance identified by its ID.

Source

pub async fn add_maintenance( &self, maintenance: Maintenance, ) -> Result<Maintenance>

Adds a new maintenance to Uptime Kuma.

Source

pub async fn edit_maintenance( &self, maintenance: Maintenance, ) -> Result<Maintenance>

Edits an existing maintenance in Uptime Kuma.

Source

pub async fn delete_maintenance(&self, maintenance_id: i32) -> Result<()>

Deletes a maintenance from Uptime Kuma based on its ID.

Source

pub async fn pause_maintenance(&self, maintenance_id: i32) -> Result<()>

Pauses a maintenance in Uptime Kuma based on its ID.

Source

pub async fn resume_maintenance(&self, maintenance_id: i32) -> Result<()>

Resumes a paused maintenance in Uptime Kuma based on its ID.

Source

pub async fn get_status_pages(&self) -> Result<StatusPageList>

Retrieves a list of status pages from Uptime Kuma.

Source

pub async fn get_status_page<T: AsRef<str>>( &self, slug: T, ) -> Result<StatusPage>

Retrieves information about a specific status page identified by its slug.

Source

pub async fn add_status_page( &self, status_page: StatusPage, ) -> Result<StatusPage>

Adds a new status page to Uptime Kuma.

Source

pub async fn edit_status_page( &self, status_page: StatusPage, ) -> Result<StatusPage>

Edits an existing status page in Uptime Kuma.

Source

pub async fn delete_status_page<T: AsRef<str>>(&self, slug: T) -> Result<()>

Deletes a status page from Uptime Kuma based on its slug.

Source

pub async fn get_docker_hosts(&self) -> Result<DockerHostList>

Retrieves a list of status pages from Uptime Kuma.

Source

pub async fn get_docker_host(&self, docker_host_id: i32) -> Result<DockerHost>

Retrieves information about a specific docker host identified by its id.

Source

pub async fn add_docker_host( &self, docker_host: DockerHost, ) -> Result<DockerHost>

Adds a new docker host to Uptime Kuma.

Source

pub async fn edit_docker_host( &self, docker_host: DockerHost, ) -> Result<DockerHost>

Edits an existing docker host in Uptime Kuma.

Source

pub async fn delete_docker_host(&self, docker_host_id: i32) -> Result<()>

Deletes a docker host from Uptime Kuma based on its id.

Source

pub async fn test_docker_host<T: Borrow<DockerHost>>( &self, docker_host: T, ) -> Result<String>

Test a docker host in Uptime Kuma.

Source

pub async fn disconnect(&self) -> Result<()>

Disconnects the client from Uptime Kuma.

Source

pub async fn get_auth_token(&self) -> Option<String>

Get the auth token from this client if available.

Trait Implementations§

Source§

impl Drop for Client

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more

Auto Trait Implementations§

§

impl Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Pipe for T
where T: ?Sized,

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,