Skip to content

Commit 559ad2d

Browse files
authored
Merge pull request #545 from solson/oli-obk-patch-1
Expose some things for priroda
2 parents fb2d0ff + f42b708 commit 559ad2d

File tree

2 files changed

+12
-6
lines changed

2 files changed

+12
-6
lines changed

src/lib.rs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -37,15 +37,15 @@ mod range_map;
3737
mod mono_hash_map;
3838
mod stacked_borrows;
3939

40-
use crate::fn_call::EvalContextExt as MissingFnsEvalContextExt;
41-
use crate::operator::EvalContextExt as OperatorEvalContextExt;
42-
use crate::intrinsic::EvalContextExt as IntrinsicEvalContextExt;
43-
use crate::tls::{EvalContextExt as TlsEvalContextExt, TlsData};
40+
pub use crate::fn_call::EvalContextExt as MissingFnsEvalContextExt;
41+
pub use crate::operator::EvalContextExt as OperatorEvalContextExt;
42+
pub use crate::intrinsic::EvalContextExt as IntrinsicEvalContextExt;
43+
pub use crate::tls::{EvalContextExt as TlsEvalContextExt, TlsData};
4444
use crate::range_map::RangeMap;
4545
#[allow(unused_imports)] // FIXME rustc bug https://github.com/rust-lang/rust/issues/53682
46-
use crate::helpers::{ScalarExt, EvalContextExt as HelpersEvalContextExt};
46+
pub use crate::helpers::{ScalarExt, EvalContextExt as HelpersEvalContextExt};
4747
use crate::mono_hash_map::MonoHashMap;
48-
use crate::stacked_borrows::{EvalContextExt as StackedBorEvalContextExt};
48+
pub use crate::stacked_borrows::{EvalContextExt as StackedBorEvalContextExt};
4949

5050
// Used by priroda
5151
pub use crate::stacked_borrows::{Borrow, Stack, Stacks, BorStackItem};

src/mono_hash_map.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ use crate::AllocMap;
1717
#[derive(Debug, Clone)]
1818
pub struct MonoHashMap<K: Hash + Eq, V>(RefCell<FxHashMap<K, Box<V>>>);
1919

20+
impl<K: Hash + Eq, V> MonoHashMap<K, V> {
21+
pub fn values<T>(&self, f: impl FnOnce(&mut dyn Iterator<Item=&V>) -> T) -> T {
22+
f(&mut self.0.borrow().values().map(|v| &**v))
23+
}
24+
}
25+
2026
impl<K: Hash + Eq, V> Default for MonoHashMap<K, V> {
2127
fn default() -> Self {
2228
MonoHashMap(RefCell::new(Default::default()))

0 commit comments

Comments
 (0)