cl-typeck: rustfmt implement.rs

This commit is contained in:
John 2024-07-26 00:15:00 -05:00
parent 46a1639990
commit 03a4e76292

View File

@ -1,23 +1,23 @@
use crate::{handle::Handle, table::Table}; use crate::{handle::Handle, table::Table};
pub fn implement(table: &mut Table) -> Vec<Handle> { pub fn implement(table: &mut Table) -> Vec<Handle> {
let pending = std::mem::take(&mut table.impls); let pending = std::mem::take(&mut table.impls);
let mut errors = vec![]; let mut errors = vec![];
for node in pending { for node in pending {
if let Err(e) = impl_one(table, node) { if let Err(e) = impl_one(table, node) {
errors.push(e); errors.push(e);
}
} }
errors
} }
errors
}
pub fn impl_one(table: &mut Table, node: Handle) -> Result<(), Handle> { pub fn impl_one(table: &mut Table, node: Handle) -> Result<(), Handle> {
let Some(target) = table.impl_target(node) else { let Some(target) = table.impl_target(node) else {
Err(node)? Err(node)?
}; };
let Table { children, imports, .. } = table; let Table { children, imports, .. } = table;
if let Some(children) = children.get(&node) { if let Some(children) = children.get(&node) {
imports.entry(target).or_default().extend(children); imports.entry(target).or_default().extend(children);
}
Ok(())
} }
Ok(())
}