diff --git a/concrete/numpy/compilation/configuration.py b/concrete/numpy/compilation/configuration.py index a5c168df0..074794b26 100644 --- a/concrete/numpy/compilation/configuration.py +++ b/concrete/numpy/compilation/configuration.py @@ -114,17 +114,20 @@ class Configuration: raise TypeError(f"Unexpected keyword argument '{name}'") hint = hints[name] + expected = None is_correctly_typed = True if name == "insecure_key_cache_location": if not (value is None or isinstance(value, str)): is_correctly_typed = False + expected = "Optional[str]" elif not isinstance(value, hint): # type: ignore is_correctly_typed = False if not is_correctly_typed: - expected = hint.__name__ if hasattr(hint, "__name__") else str(hint) + if expected is None: + expected = hint.__name__ if hasattr(hint, "__name__") else str(hint) raise TypeError( f"Unexpected type for keyword argument '{name}' " f"(expected '{expected}', got '{type(value).__name__}')" diff --git a/tests/compilation/test_configuration.py b/tests/compilation/test_configuration.py index 28b7ab329..6194c8dfc 100644 --- a/tests/compilation/test_configuration.py +++ b/tests/compilation/test_configuration.py @@ -72,7 +72,7 @@ def test_configuration_fork(): {"insecure_key_cache_location": 3}, TypeError, "Unexpected type for keyword argument 'insecure_key_cache_location' " - "(expected 'typing.Union[str, NoneType]', got 'int')", + "(expected 'Optional[str]', got 'int')", ), ], )