From 55b577250558dc85e9eba82d4a7223510ad1b3f1 Mon Sep 17 00:00:00 2001 From: MischaPanch Date: Fri, 19 Sep 2025 18:48:57 +0200 Subject: [PATCH] Bugfix (dataclass.replace is not inplace) --- src/serena/project.py | 2 +- src/solidlsp/language_servers/common.py | 5 +---- 2 files changed, 2 insertions(+), 5 deletions(-) diff --git a/src/serena/project.py b/src/serena/project.py index 9288209a..0673f05e 100644 --- a/src/serena/project.py +++ b/src/serena/project.py @@ -309,6 +309,6 @@ class Project: solidlsp_settings=SolidLSPSettings( solidlsp_dir=SERENA_MANAGED_DIR_IN_HOME, project_data_relative_path=SERENA_MANAGED_DIR_NAME, - ls_specific_settings=ls_specific_settings, + ls_specific_settings=ls_specific_settings or {}, ), ) diff --git a/src/solidlsp/language_servers/common.py b/src/solidlsp/language_servers/common.py index ba952c90..a6bcbb3e 100644 --- a/src/solidlsp/language_servers/common.py +++ b/src/solidlsp/language_servers/common.py @@ -5,7 +5,6 @@ import os import platform import subprocess from collections.abc import Iterable, Mapping, Sequence -from copy import copy from dataclasses import dataclass, replace from typing import Any, cast @@ -56,9 +55,7 @@ class RuntimeDependencyCollection: new_runtime_dep = RuntimeDependency(**dep_values_override) self._id_and_platform_id_to_dep[override_key] = new_runtime_dep else: - updated_dep = copy(base_dep) - replace(updated_dep, **dep_values_override) - self._id_and_platform_id_to_dep[override_key] = updated_dep + self._id_and_platform_id_to_dep[override_key] = replace(base_dep, **dep_values_override) def get_dependencies_for_platform(self, platform_id: str) -> list[RuntimeDependency]: return [d for d in self._id_and_platform_id_to_dep.values() if d.platform_id in (platform_id, "any", "platform-agnostic", None)]