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 { pub struct BasicIntern {
strs: HashMap<String, ObjRef<Str>>, strs: HashMap<String, ObjRef<Str>>,
syms: HashMap<String, Sym>, syms: HashMap<String, Sym>,

View File

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

View File

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

View File

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