diff options
Diffstat (limited to 'syntax/discriminant.rs')
-rw-r--r-- | syntax/discriminant.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/syntax/discriminant.rs b/syntax/discriminant.rs index 21a6d00a..775e57bb 100644 --- a/syntax/discriminant.rs +++ b/syntax/discriminant.rs @@ -5,17 +5,16 @@ use std::cmp::Ordering; use std::collections::BTreeSet; use std::fmt::{self, Display}; use std::str::FromStr; -use std::u64; use syn::{Error, Expr, Lit, Result, Token, UnOp}; -pub struct DiscriminantSet { +pub(crate) struct DiscriminantSet { repr: Option<Atom>, values: BTreeSet<Discriminant>, previous: Option<Discriminant>, } #[derive(Copy, Clone, Eq, PartialEq)] -pub struct Discriminant { +pub(crate) struct Discriminant { sign: Sign, magnitude: u64, } @@ -27,7 +26,7 @@ enum Sign { } impl DiscriminantSet { - pub fn new(repr: Option<Atom>) -> Self { + pub(crate) fn new(repr: Option<Atom>) -> Self { DiscriminantSet { repr, values: BTreeSet::new(), @@ -35,7 +34,7 @@ impl DiscriminantSet { } } - pub fn insert(&mut self, expr: &Expr) -> Result<Discriminant> { + pub(crate) fn insert(&mut self, expr: &Expr) -> Result<Discriminant> { let (discriminant, repr) = expr_to_discriminant(expr)?; match (self.repr, repr) { (None, Some(new_repr)) => { @@ -62,7 +61,7 @@ impl DiscriminantSet { insert(self, discriminant) } - pub fn insert_next(&mut self) -> Result<Discriminant> { + pub(crate) fn insert_next(&mut self) -> Result<Discriminant> { let discriminant = match self.previous { None => Discriminant::zero(), Some(mut discriminant) => match discriminant.sign { @@ -86,7 +85,7 @@ impl DiscriminantSet { insert(self, discriminant) } - pub fn inferred_repr(&self) -> Result<Atom> { + pub(crate) fn inferred_repr(&self) -> Result<Atom> { if let Some(repr) = self.repr { return Ok(repr); } @@ -150,7 +149,7 @@ fn insert(set: &mut DiscriminantSet, discriminant: Discriminant) -> Result<Discr } impl Discriminant { - pub const fn zero() -> Self { + pub(crate) const fn zero() -> Self { Discriminant { sign: Sign::Positive, magnitude: 0, @@ -181,7 +180,7 @@ impl Discriminant { } #[cfg(feature = "experimental-enum-variants-from-header")] - pub const fn checked_succ(self) -> Option<Self> { + pub(crate) const fn checked_succ(self) -> Option<Self> { match self.sign { Sign::Negative => { if self.magnitude == 1 { |