Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/mbe/src/lib.rs')
-rw-r--r--crates/mbe/src/lib.rs12
1 files changed, 6 insertions, 6 deletions
diff --git a/crates/mbe/src/lib.rs b/crates/mbe/src/lib.rs
index e0bbb825b9..d2b955c5c8 100644
--- a/crates/mbe/src/lib.rs
+++ b/crates/mbe/src/lib.rs
@@ -97,11 +97,11 @@ struct Rule {
rhs: MetaTemplate,
}
-#[derive(Clone, Copy, Debug, PartialEq, Eq)]
-struct Shift(u32);
+#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash)]
+pub struct Shift(u32);
impl Shift {
- fn new(tt: &tt::Subtree) -> Shift {
+ pub fn new(tt: &tt::Subtree) -> Shift {
// Note that TokenId is started from zero,
// We have to add 1 to prevent duplication.
let value = max_id(tt).map_or(0, |it| it + 1);
@@ -134,7 +134,7 @@ impl Shift {
}
/// Shift given TokenTree token id
- fn shift_all(self, tt: &mut tt::Subtree) {
+ pub fn shift_all(self, tt: &mut tt::Subtree) {
for t in &mut tt.token_trees {
match t {
tt::TokenTree::Leaf(leaf) => match leaf {
@@ -152,14 +152,14 @@ impl Shift {
}
}
- fn shift(self, id: tt::TokenId) -> tt::TokenId {
+ pub fn shift(self, id: tt::TokenId) -> tt::TokenId {
if id == tt::TokenId::unspecified() {
return id;
}
tt::TokenId(id.0 + self.0)
}
- fn unshift(self, id: tt::TokenId) -> Option<tt::TokenId> {
+ pub fn unshift(self, id: tt::TokenId) -> Option<tt::TokenId> {
id.0.checked_sub(self.0).map(tt::TokenId)
}
}