Fix newattrs test

Signed-off-by: Alek Ratzloff <alekratz@gmail.com>
This commit is contained in:
2020-05-16 18:54:25 -04:00
parent d5cf39108b
commit c0833086b6
4 changed files with 7 additions and 4 deletions

View File

@@ -45,6 +45,7 @@ impl Gc for BasicGc {
}
}
#[derive(Default)]
pub struct BasicIntern {
strs: HashMap<String, ObjRef<Str>>,
syms: HashMap<String, Sym>,

View File

@@ -3,11 +3,12 @@ pub mod gc;
pub mod intern;
pub mod ptr;
pub use basic::BasicGc;
pub use basic::{BasicGc, BasicIntern};
pub mod prelude {
pub use crate::mem::{
BasicGc,
BasicIntern,
gc::Gc,
intern::Intern,
ptr::{DynRef, ObjRef},

View File

@@ -121,15 +121,16 @@ impl<'i, I: Intern> AttrsBuilder<'i, I> {
#[test]
fn test_attrs_new() {
use crate::mem::BasicGc;
use crate::mem::{BasicGc, BasicIntern};
let mut gc = BasicGc::default();
let mut intern = BasicIntern::default();
let attrs_ref = Attrs::new(&mut gc, Default::default());
{
let mut attrs = attrs_ref.borrow_mut();
let sym = gc.add_sym("symbol");
let sym = intern.intern_sym("symbol");
attrs.insert(sym, attrs_ref.as_dyn());
assert!(

View File

@@ -44,7 +44,7 @@ impl Obj for Str {
return;
}
self.marked.set(true);
todo!()
self.attrs.borrow().mark();
}
fn unmark(&self) {