cl-typeck: rustfmt implement.rs
This commit is contained in:
parent
46a1639990
commit
03a4e76292
@ -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(())
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user