trybuild_internals_api/
env.rs

1use crate::error::{Error, Result};
2use std::env;
3
4#[derive(#[automatically_derived]
impl ::core::cmp::PartialEq for Update {
    #[inline]
    fn eq(&self, other: &Update) -> bool {
        let __self_discr = ::core::intrinsics::discriminant_value(self);
        let __arg1_discr = ::core::intrinsics::discriminant_value(other);
        __self_discr == __arg1_discr
    }
}PartialEq, #[automatically_derived]
impl ::core::default::Default for Update {
    #[inline]
    fn default() -> Update { Self::Wip }
}Default, #[automatically_derived]
impl ::core::fmt::Debug for Update {
    #[inline]
    fn fmt(&self, f: &mut ::core::fmt::Formatter) -> ::core::fmt::Result {
        ::core::fmt::Formatter::write_str(f,
            match self {
                Update::Wip => "Wip",
                Update::Overwrite => "Overwrite",
            })
    }
}Debug)]
5pub enum Update {
6    #[default]
7    Wip,
8    Overwrite,
9}
10
11impl Update {
12    pub fn env() -> Result<Self> {
13        let Some(var) = env::var_os("TRYBUILD") else {
14            return Ok(Update::default());
15        };
16
17        match var.as_os_str().to_str() {
18            Some("wip") => Ok(Update::Wip),
19            Some("overwrite") => Ok(Update::Overwrite),
20            _ => Err(Error::UpdateVar(var)),
21        }
22    }
23}