Skip to content

Commit 32f4dc8

Browse files
committed
make goal builder pub
1 parent 7a6491b commit 32f4dc8

File tree

2 files changed

+9
-13
lines changed

2 files changed

+9
-13
lines changed

chalk-solve/src/goal_builder.rs

+8-12
Original file line numberDiff line numberDiff line change
@@ -8,28 +8,28 @@ use fold::shift::Shift;
88
use fold::Fold;
99
use interner::{HasInterner, Interner};
1010

11-
pub(crate) struct GoalBuilder<'i, I: Interner> {
11+
pub struct GoalBuilder<'i, I: Interner> {
1212
db: &'i dyn RustIrDatabase<I>,
1313
}
1414

1515
impl<'i, I: Interner> GoalBuilder<'i, I> {
16-
pub(crate) fn new(db: &'i dyn RustIrDatabase<I>) -> Self {
16+
pub fn new(db: &'i dyn RustIrDatabase<I>) -> Self {
1717
GoalBuilder { db }
1818
}
1919

2020
/// Returns the database within the goal builder.
21-
pub(crate) fn db(&self) -> &'i dyn RustIrDatabase<I> {
21+
pub fn db(&self) -> &'i dyn RustIrDatabase<I> {
2222
self.db
2323
}
2424

2525
/// Returns the interner within the goal builder.
26-
pub(crate) fn interner(&self) -> &'i I {
26+
pub fn interner(&self) -> &'i I {
2727
self.db.interner()
2828
}
2929

3030
/// Creates a goal that ensures all of the goals from the `goals`
3131
/// iterator are met (e.g., `goals[0] && ... && goals[N]`).
32-
pub(crate) fn all<GS, G>(&mut self, goals: GS) -> Goal<I>
32+
pub fn all<GS, G>(&mut self, goals: GS) -> Goal<I>
3333
where
3434
GS: IntoIterator<Item = G>,
3535
G: CastTo<Goal<I>>,
@@ -39,11 +39,7 @@ impl<'i, I: Interner> GoalBuilder<'i, I> {
3939

4040
/// Creates a goal `clauses => goal`. The clauses are given as an iterator
4141
/// and the goal is returned via the contained closure.
42-
pub(crate) fn implies<CS, C, G>(
43-
&mut self,
44-
clauses: CS,
45-
goal: impl FnOnce(&mut Self) -> G,
46-
) -> Goal<I>
42+
pub fn implies<CS, C, G>(&mut self, clauses: CS, goal: impl FnOnce(&mut Self) -> G) -> Goal<I>
4743
where
4844
CS: IntoIterator<Item = C>,
4945
C: CastTo<ProgramClause<I>>,
@@ -77,7 +73,7 @@ impl<'i, I: Interner> GoalBuilder<'i, I> {
7773
/// This is to ensure that `body` doesn't accidentally reference
7874
/// values from the environment whose debruijn indices do not
7975
/// account for the new binder being created.
80-
pub(crate) fn forall<G, B, P>(
76+
pub fn forall<G, B, P>(
8177
&mut self,
8278
binders: &Binders<B>,
8379
passthru: P,
@@ -93,7 +89,7 @@ impl<'i, I: Interner> GoalBuilder<'i, I> {
9389
}
9490

9591
/// Like [`GoalBuilder::forall`], but for a `exists<Q0..Qn> { G }` goal.
96-
pub(crate) fn exists<G, B, P>(
92+
pub fn exists<G, B, P>(
9793
&mut self,
9894
binders: &Binders<B>,
9995
passthru: P,

chalk-solve/src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ pub mod clauses;
1111
pub mod coherence;
1212
mod coinductive_goal;
1313
pub mod ext;
14-
mod goal_builder;
14+
pub mod goal_builder;
1515
mod infer;
1616
mod solve;
1717
pub mod split;

0 commit comments

Comments
 (0)