Skip to main content

nominal_api_conjure/conjure/objects/module/
module_version.rs

1#[derive(
2    Debug,
3    Clone,
4    conjure_object::serde::Deserialize,
5    conjure_object::serde::Serialize,
6    PartialEq,
7    Eq,
8    PartialOrd,
9    Ord,
10    Hash,
11    Default,
12    conjure_object::log_safety::derive::LogSafe
13)]
14#[serde(crate = "conjure_object::serde", transparent)]
15pub struct ModuleVersion(#[assert_is_safe] pub String);
16impl std::fmt::Display for ModuleVersion {
17    fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
18        std::fmt::Display::fmt(&self.0, fmt)
19    }
20}
21impl conjure_object::Plain for ModuleVersion {
22    fn fmt(&self, fmt: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
23        conjure_object::Plain::fmt(&self.0, fmt)
24    }
25}
26impl conjure_object::FromPlain for ModuleVersion {
27    type Err = <String as conjure_object::FromPlain>::Err;
28    #[inline]
29    fn from_plain(s: &str) -> Result<ModuleVersion, Self::Err> {
30        conjure_object::FromPlain::from_plain(s).map(ModuleVersion)
31    }
32}
33impl std::convert::From<String> for ModuleVersion {
34    #[inline]
35    fn from(v: String) -> Self {
36        ModuleVersion(std::convert::From::from(v))
37    }
38}
39impl std::ops::Deref for ModuleVersion {
40    type Target = String;
41    #[inline]
42    fn deref(&self) -> &String {
43        &self.0
44    }
45}
46impl std::ops::DerefMut for ModuleVersion {
47    #[inline]
48    fn deref_mut(&mut self) -> &mut String {
49        &mut self.0
50    }
51}
52impl std::convert::AsRef<String> for ModuleVersion {
53    #[inline]
54    fn as_ref(&self) -> &String {
55        &self.0
56    }
57}