1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
/// Should symlinks be followed in the last component of a path? /// /// Note that this doesn't affect path components other than the last. So /// for example in "foo/bar/baz", if "foo" or "bar" are symlinks, they will /// always be followed. This enum value only determines whether "baz" is /// followed. /// /// Instead of passing bare `bool`s as parameters, pass a distinct /// enum so that the intent is clear. #[derive(Copy, Clone, Debug, Eq, PartialEq)] #[cfg_attr(feature = "arbitrary", derive(arbitrary::Arbitrary))] pub enum FollowSymlinks { /// Yes, do follow symlinks in the last component of a path. Yes, /// No, do not follow symlinks in the last component of a path. No, } impl FollowSymlinks { /// Convert a bool where true means "follow" and false means "don't follow" /// to a `FollowSymlinks`. #[inline] pub const fn follow(follow: bool) -> Self { if follow { Self::Yes } else { Self::No } } }