fn insert(&self, node: Node) {
let mut current = self.clone();
for part in node.0.borrow().source.split(".") {
let inner = node.0.borrow(); -- вот тут по идее нужно идти по current.children, а не по node.children
let found = inner.children.iter().find(|&v| v.0.borrow().path == part);
match found {
None => {
let tmp = Node::fast(String::new(), String::new());
current.0.borrow_mut().children.push(tmp.clone());
current = tmp;
}
Some(val) => current = val.clone(),
}
}
}
fn insert(&self, node: Node) {
let mut current = self.clone();
for part in node.0.borrow().source.split(".") {
let found = current.0.borrow().children.iter().find(|&v| v.0.borrow().path == part.to_string());
match found {
None => {
let tmp = Node::fast(String::new(), String::new(), part);
current.0.borrow_mut().children.push(tmp.clone());
current = tmp;
}
Some(val) => current = val.clone(),
}
}
current.0.borrow_mut().name = node.0.borrow().name.clone();
current.0.borrow_mut().source = node.0.borrow().source.clone();
}
Нагрузки перед включением явно нет. перезагрузок и бсодов ни разу не видел, компу меньше месяца