feature_set/require.rs
1use crate::feature::Feature;
2
3/// A required feature with a requirement level.
4///
5/// A required feature is either mandatory or optional.
6#[derive(Debug, Clone)]
7pub struct Require {
8 pub(crate) optional: bool,
9 pub(crate) feature: Feature,
10}
11
12impl Require {
13 pub fn feature(&self) -> &Feature {
14 &self.feature
15 }
16
17 pub fn optional(&self) -> bool {
18 self.optional
19 }
20}
21
22impl From<Feature> for Require {
23 fn from(feature: Feature) -> Self {
24 Self {
25 optional: false,
26 feature,
27 }
28 }
29}