From 75220674c07abfc90c2cd7862d04cfa2e2354450 Mon Sep 17 00:00:00 2001 From: Zackery Spytz Date: Mon, 5 Apr 2021 13:41:01 -0600 Subject: bpo-36470: Allow dataclasses.replace() to handle InitVars with default values (GH-20867) Co-Authored-By: Claudiu Popa Automerge-Triggered-By: GH:ericvsmith --- Lib/dataclasses.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'Lib/dataclasses.py') diff --git a/Lib/dataclasses.py b/Lib/dataclasses.py index 422a95cebe..3de2ec04ad 100644 --- a/Lib/dataclasses.py +++ b/Lib/dataclasses.py @@ -1300,7 +1300,7 @@ def replace(obj, /, **changes): continue if f.name not in changes: - if f._field_type is _FIELD_INITVAR: + if f._field_type is _FIELD_INITVAR and f.default is MISSING: raise ValueError(f"InitVar {f.name!r} " 'must be specified with replace()') changes[f.name] = getattr(obj, f.name) -- cgit v1.2.1