From d1ea846b6bbb5cbf09d8e9707707c40af3cf7c92 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Tue, 18 Nov 2025 09:55:51 +0100 Subject: cargo: show nice exception if Cargo.toml missing Signed-off-by: Paolo Bonzini --- mesonbuild/cargo/interpreter.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py index db7c0a1ed..4f3acc133 100644 --- a/mesonbuild/cargo/interpreter.py +++ b/mesonbuild/cargo/interpreter.py @@ -480,8 +480,12 @@ class Interpreter: return manifest_, True path = os.path.join(self.environment.source_dir, subdir) filename = os.path.join(path, 'Cargo.toml') + try: + raw_manifest = T.cast('raw.Manifest', load_toml(filename)) + except OSError as e: + raise MesonException(f'could not load {subdir}/Cargo.toml: {e}') + self.build_def_files.append(filename) - raw_manifest = T.cast('raw.Manifest', load_toml(filename)) if 'workspace' in raw_manifest: manifest_ = Workspace.from_raw(raw_manifest, path) elif 'package' in raw_manifest: -- cgit v1.2.3