From d2f58f996b5b75ca83ffd968a1de938bcc63dbf4 Mon Sep 17 00:00:00 2001 From: Paolo Bonzini Date: Thu, 23 Oct 2025 09:39:30 +0200 Subject: cargo: allow putting "." in members Signed-off-by: Paolo Bonzini --- mesonbuild/cargo/interpreter.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'mesonbuild') diff --git a/mesonbuild/cargo/interpreter.py b/mesonbuild/cargo/interpreter.py index 77f85cff5..eff4450b5 100644 --- a/mesonbuild/cargo/interpreter.py +++ b/mesonbuild/cargo/interpreter.py @@ -208,6 +208,8 @@ class Interpreter: def _load_workspace_member(self, ws: WorkspaceState, m: str) -> None: m = os.path.normpath(m) + if m in ws.packages: + return # Load member's manifest m_subdir = os.path.join(ws.subdir, m) manifest_ = self._load_manifest(m_subdir, ws.workspace, m) @@ -215,8 +217,6 @@ class Interpreter: self._add_workspace_member(manifest_, ws, m) def _add_workspace_member(self, manifest_: Manifest, ws: WorkspaceState, m: str) -> None: - if m in ws.packages: - return pkg = PackageState(manifest_, ws_subdir=ws.subdir, ws_member=m) ws.packages[m] = pkg ws.packages_to_member[manifest_.package.name] = m @@ -226,10 +226,10 @@ class Interpreter: if ws: return ws ws = WorkspaceState(workspace, subdir) - for m in workspace.members: - self._load_workspace_member(ws, m) if workspace.root_package: self._add_workspace_member(workspace.root_package, ws, '.') + for m in workspace.members: + self._load_workspace_member(ws, m) self.workspaces[subdir] = ws return ws -- cgit v1.2.3