exec working up to halt
clean shutdown doesn't for some reason
This commit is contained in:
@@ -5,7 +5,6 @@ use futures::future::{LocalBoxFuture, join_all};
|
||||
use futures::{FutureExt, Stream, StreamExt};
|
||||
use itertools::Itertools;
|
||||
use never::Never;
|
||||
use orchid_api::ResolveNames;
|
||||
use orchid_base::error::{OrcErrv, OrcRes, Reporter};
|
||||
use orchid_base::id_store::IdStore;
|
||||
use orchid_base::interner::{Interner, Tok};
|
||||
@@ -186,21 +185,6 @@ pub enum ParsedMemKind {
|
||||
Mod { lines: Vec<ParsedLine>, use_prelude: bool },
|
||||
}
|
||||
|
||||
/* TODO: how the macro runner uses the multi-stage loader
|
||||
|
||||
Since the macro runner actually has to invoke the interpreter,
|
||||
it'll run at const-time and not at postparse-time anyway.
|
||||
|
||||
pasing stage establishes the role of every constant as a macro keyword
|
||||
postparse / const load links up constants with every macro they can directly invoke
|
||||
the constants representing the keywords might not actually be postparsed,
|
||||
\ the connection is instead made by detecting in the macro system that the
|
||||
\ resolved name is owned by a macro
|
||||
the returned constant from this call is always an entrypoint call to
|
||||
\ the macro system
|
||||
the constants representing the keywords resolve to panic
|
||||
execute relies on these links detected in the extension to dispatch relevant macros
|
||||
*/
|
||||
#[derive(Clone)]
|
||||
pub struct ConstCtx {
|
||||
ctx: SysCtx,
|
||||
@@ -213,7 +197,7 @@ impl ConstCtx {
|
||||
&'b self,
|
||||
names: impl IntoIterator<Item = &'b Sym> + 'b,
|
||||
) -> impl Stream<Item = OrcRes<Sym>> + 'b {
|
||||
let resolve_names = ResolveNames {
|
||||
let resolve_names = api::ResolveNames {
|
||||
constid: self.constid,
|
||||
sys: self.ctx.sys_id(),
|
||||
names: names.into_iter().map(|n| n.to_api()).collect_vec(),
|
||||
|
||||
Reference in New Issue
Block a user