aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.md14
-rw-r--r--mingling_macros/src/chain.rs8
-rw-r--r--mling/src/cli/install.rs2
-rw-r--r--mling/src/cli/list.rs2
-rw-r--r--mling/src/cli/namespace_mgr.rs5
-rw-r--r--mling/src/cli/read.rs5
6 files changed, 31 insertions, 5 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index a6bda6b..36806ce 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -108,6 +108,20 @@ fn render(prev: Previous) { // Implicitly introduces `__renderer_inner_result`
5. **\[macros\]** Moved the `entry!`, `route!`, `#[program_setup]` macros into the `extra_macros` feature
+6. **\[macros\]** The `crate::Next` generated by `gen_program!()` now requires explicit import into the project
+
+```rust
+use crate::Next;
+
+#[chain]
+fn handle_cmd(args: EntryCmd) -> Next {
+ // ^^^^\_ requires explicit import
+ // ...
+}
+
+gen_program!();
+```
+
---
### Release 0.1.8 (2026-05-18)
diff --git a/mingling_macros/src/chain.rs b/mingling_macros/src/chain.rs
index 9666c51..559468c 100644
--- a/mingling_macros/src/chain.rs
+++ b/mingling_macros/src/chain.rs
@@ -183,7 +183,13 @@ fn generate_original_fn(
}
}
} else {
- quote! { #fn_body }
+ quote! {
+ {
+ let _: crate::Next;
+ let _: Next;
+ #fn_body
+ }
+ }
};
#[cfg(feature = "async")]
diff --git a/mling/src/cli/install.rs b/mling/src/cli/install.rs
index dd6dec4..cca7483 100644
--- a/mling/src/cli/install.rs
+++ b/mling/src/cli/install.rs
@@ -4,7 +4,7 @@ use mingling::{
parser::Picker,
};
-use crate::project_installer::install_all;
+use crate::{Next, project_installer::install_all};
dispatcher!("install", InstallCommand => InstallEntry);
diff --git a/mling/src/cli/list.rs b/mling/src/cli/list.rs
index c3e4c05..ac9a65f 100644
--- a/mling/src/cli/list.rs
+++ b/mling/src/cli/list.rs
@@ -6,7 +6,7 @@ use mingling::{
};
use serde::Serialize;
-use crate::namespace_manager::list_namespaces;
+use crate::{Next, namespace_manager::list_namespaces};
dispatcher!("ls-namespace", ListInstalledCommand => ListInstalledEntry);
diff --git a/mling/src/cli/namespace_mgr.rs b/mling/src/cli/namespace_mgr.rs
index 0f11332..4ea2229 100644
--- a/mling/src/cli/namespace_mgr.rs
+++ b/mling/src/cli/namespace_mgr.rs
@@ -4,7 +4,10 @@ use mingling::{
parser::{Picker, Yes},
};
-use crate::namespace_manager::{list_namespaces, remove_namespace, set_namespace_trusted};
+use crate::{
+ Next,
+ namespace_manager::{list_namespaces, remove_namespace, set_namespace_trusted},
+};
dispatcher!("trust", TrustNamespaceCommand => TrustNamespaceEntry);
dispatcher!("untrust", UntrustNamespaceCommand => UntrustNamespaceEntry);
diff --git a/mling/src/cli/read.rs b/mling/src/cli/read.rs
index 6352c94..82f8fd5 100644
--- a/mling/src/cli/read.rs
+++ b/mling/src/cli/read.rs
@@ -7,7 +7,10 @@ use mingling::{
};
use serde::Serialize;
-use crate::project_solver::{BinaryItem, solve_current_dir};
+use crate::{
+ Next,
+ project_solver::{BinaryItem, solve_current_dir},
+};
dispatcher!("show-target-dir", ReadTargetDirCommand => ReadTargetDirEntry);
dispatcher!("show-workspace-root", ReadWorkspaceRootCommand => ReadWorkspaceRootEntry);