Added support for defining macros in Rust within the macro system

Also fixed a lot of bugs
This commit is contained in:
2025-09-30 21:23:16 +02:00
parent 7971a2b4eb
commit b77653f841
52 changed files with 849 additions and 502 deletions

View File

@@ -5,11 +5,11 @@ use std::num::NonZero;
use std::pin::Pin;
use std::rc::Rc;
use async_lock::RwLock;
use futures::channel::mpsc::{Receiver, Sender, channel};
use futures::future::{LocalBoxFuture, join_all};
use futures::lock::Mutex;
use futures::{FutureExt, SinkExt, StreamExt, stream, stream_select};
use futures_locks::RwLock;
use hashbrown::HashMap;
use itertools::Itertools;
use orchid_api_traits::{Decode, UnderRoot, enc_vec};
@@ -145,10 +145,7 @@ pub fn extension_init(
clone!(exit_send mut);
async move {
match n {
api::HostExtNotif::Exit => {
eprintln!("Exit received");
exit_send.send(()).await.unwrap()
},
api::HostExtNotif::Exit => exit_send.send(()).await.unwrap(),
}
}
.boxed_local()
@@ -194,13 +191,14 @@ pub fn extension_init(
.then(|mem| {
let lazy_mems = &lazy_members;
clone!(i, ctx; async move {
let name = i.i(&mem.name).await;
let mut tia_ctx = TreeIntoApiCtxImpl {
lazy_members: &mut *lazy_mems.lock().await,
sys: ctx,
basepath: &[],
path: Substack::Bottom,
path: Substack::Bottom.push(name.clone()),
};
(i.i(&mem.name).await.to_api(), mem.kind.into_api(&mut tia_ctx).await)
(name.to_api(), mem.kind.into_api(&mut tia_ctx).await)
})
})
.collect()