aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJussi Pakkanen <jpakkane@gmail.com>2024-07-22 08:46:18 +0300
committerEli Schwartz <eschwartz93@gmail.com>2024-07-23 11:34:42 -0400
commita97de6b527c0109112909af8f29e8d262a87c247 (patch)
tree69d375fe76fef9d160079c8b5e882aef8153ecb2
parentfa70974a647db90864df4af6172cf7766f79857b (diff)
downloadmeson-a97de6b527c0109112909af8f29e8d262a87c247.zip
meson-a97de6b527c0109112909af8f29e8d262a87c247.tar.gz
meson-a97de6b527c0109112909af8f29e8d262a87c247.tar.bz2
Ensure override var exists. Closes #13402.
-rw-r--r--mesonbuild/coredata.py6
1 files changed, 3 insertions, 3 deletions
diff --git a/mesonbuild/coredata.py b/mesonbuild/coredata.py
index f9d2099..83e83e7 100644
--- a/mesonbuild/coredata.py
+++ b/mesonbuild/coredata.py
@@ -12,7 +12,7 @@ import sys
from itertools import chain
from pathlib import PurePath
from collections import OrderedDict, abc
-from dataclasses import dataclass
+import dataclasses
from .mesonlib import (
MesonBugException,
@@ -895,7 +895,7 @@ def parse_cmd_line_options(args: SharedCMDOptions) -> None:
args.cmd_line_options[key] = value
delattr(args, name)
-@dataclass
+@dataclasses.dataclass
class OptionsView(abc.Mapping):
'''A view on an options dictionary for a given subproject and with overrides.
'''
@@ -904,7 +904,7 @@ class OptionsView(abc.Mapping):
# python 3.8 or typing_extensions
original_options: T.Union[KeyedOptionDictType, 'dict[OptionKey, UserOption[Any]]']
subproject: T.Optional[str] = None
- overrides: T.Optional[T.Mapping[OptionKey, T.Union[str, int, bool, T.List[str]]]] = None
+ overrides: T.Optional[T.Mapping[OptionKey, T.Union[str, int, bool, T.List[str]]]] = dataclasses.field(default_factory=dict)
def __getitem__(self, key: OptionKey) -> options.UserOption:
# FIXME: This is fundamentally the same algorithm than interpreter.get_option_internal().