aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
author魏曹先生 <1992414357@qq.com>2026-07-21 08:54:24 +0800
committer魏曹先生 <1992414357@qq.com>2026-07-21 08:54:24 +0800
commit3662fc60570280c0c99ed3048c7c67e76069324f (patch)
tree1a6c1a6c624975e399c19ab446ae555c9fe5651d /CHANGELOG.md
parent67ec96406e6f4b8f30bc0a38c9ba95845b3cfb52 (diff)
feat(macros): add `#[mlint(...)]` marker attribute macro
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md13
1 files changed, 13 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9977b9f..5ed528c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -404,6 +404,19 @@ None
- Added `mingling_macros/src/extensions/renderify.rs` with `renderify_impl` implementation.
- Registered `#[proc_macro] pub fn render_route` and `#[proc_macro_attribute] pub fn renderify` in `mingling_macros/src/lib.rs`.
+15. **[`macros`]** Added the `#[mlint(...)]` marker attribute macro — a no-op attribute that passes its attached item through unchanged. The attribute content is ignored by `rustc` and reserved for the Mingling lint (`mlint`) tooling system.
+
+ The `#[mlint]` attribute is registered as a `#[proc_macro_attribute]` and re-exported as `mingling::macros::mlint`. It supports three styles of lint configuration:
+
+ ```rust,ignore
+ #[mlint(allow(MLINT_SOME_LINT))]
+ #[mlint(warn(MLINT_SOME_LINT))]
+ #[mlint(deny(MLINT_SOME_LINT))]
+ fn some_item() {}
+ ```
+
+ Since the attribute is a no-op at compile time, it has no effect on code generation, type checking, or runtime behavior. Its purpose is to serve as a structured annotation that `mlint` tooling can parse from the AST. The attribute is feature-gated behind `extra_macros`.
+
#### **BREAKING CHANGES** (API CHANGES):
1. **[`macros:renderer`]** **[`macros:help`]** Removed `r_println!` and `r_print!` macros from being implicitly injected by `#[renderer]` and `#[help]` macros. These macros still exist, but must now be used **explicitly** — either with an explicit buffer argument, or via the `#[buffer]` extension attribute that re-enables implicit buffer injection.