use bitvec-based topological sort

This commit is contained in:
Folkert 2022-04-22 11:35:08 +02:00
parent 7055645085
commit b6ccd9c8fb
No known key found for this signature in database
GPG key ID: 1F17F6FFD112B97C
2 changed files with 496 additions and 6 deletions

View file

@ -1,5 +1,5 @@
use crate::abilities::AbilitiesStore;
use crate::def::{canonicalize_defs, sort_can_defs, Declaration, Def};
use crate::def::{canonicalize_defs, sort_can_defs_improved, Declaration, Def};
use crate::effect_module::HostedGeneratedFunctions;
use crate::env::Env;
use crate::expr::{ClosureData, Expr, Output};
@ -361,7 +361,9 @@ pub fn canonicalize_module_defs<'a>(
..Default::default()
};
match sort_can_defs(&mut env, defs, new_output) {
let sorted = sort_can_defs_improved(&mut env, defs, new_output);
match sorted {
(Ok(mut declarations), output) => {
use crate::def::Declaration::*;