aboutsummaryrefslogtreecommitdiff
path: root/syntax/discriminant.rs
diff options
context:
space:
mode:
Diffstat (limited to 'syntax/discriminant.rs')
-rw-r--r--syntax/discriminant.rs17
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 {