diff --git a/docs/markdown/Wrap-dependency-system-manual.md b/docs/markdown/Wrap-dependency-system-manual.md index 9bb7a842648c..c8043a4d4770 100644 --- a/docs/markdown/Wrap-dependency-system-manual.md +++ b/docs/markdown/Wrap-dependency-system-manual.md @@ -316,6 +316,8 @@ foo-bar-1.0 = foo_bar_dep ``` ### Cargo wraps +*This is experimental and has no backwards or forwards compatibility guarantees.* + Cargo subprojects automatically override the `--rs` dependency name: - `package_name` is defined in `[package] name = ...` section of the `Cargo.toml`. diff --git a/docs/markdown/snippets/cargo_exp.md b/docs/markdown/snippets/cargo_exp.md new file mode 100644 index 000000000000..e411c3fa6635 --- /dev/null +++ b/docs/markdown/snippets/cargo_exp.md @@ -0,0 +1,6 @@ +## Cargo subprojects is experimental + +Cargo subprojects was intended to be experimental with no stability guarantees. +That notice was unfortunately missing from documentation. Meson will now start +warning about usage of experimental feature and future releases might do breaking +changes. diff --git a/mesonbuild/interpreter/interpreter.py b/mesonbuild/interpreter/interpreter.py index aa839da361f4..ecc5bfc2d7b4 100644 --- a/mesonbuild/interpreter/interpreter.py +++ b/mesonbuild/interpreter/interpreter.py @@ -1043,6 +1043,8 @@ def _do_subproject_cargo(self, subp_name: str, subdir: str, kwargs: kwtypes.DoSubproject) -> SubprojectHolder: from .. import cargo FeatureNew.single_use('Cargo subproject', '1.3.0', self.subproject, location=self.current_node) + mlog.warning('Cargo subproject is an experimental feature and has no backwards compatibility guarantees.', + once=True, location=self.current_node) with mlog.nested(subp_name): ast, options = cargo.interpret(subp_name, subdir, self.environment) self.coredata.update_project_options(options, subp_name)