diff --git a/src/linearization.py b/src/linearization.py index 5f04a018d9c18d514bc931fd67298c838508c054..e8bdaf997a020525669d585055fb1dcc53d97c31 100644 --- a/src/linearization.py +++ b/src/linearization.py @@ -126,7 +126,7 @@ class Linearization(Operator): def __getitem__(self, name): if not isinstance(self.domain, MultiDomain): - return NotImplemented + raise TypeError(f"'{type(self)}' object is not subscriptable") return self.new(self._val[name], self._jac.ducktape_left(name)) def __neg__(self): diff --git a/src/operators/operator.py b/src/operators/operator.py index 5a52d2fefdffa907113316dfe4986bb7571bb162..38517423387b05cf8688cc1c705efee244237448 100644 --- a/src/operators/operator.py +++ b/src/operators/operator.py @@ -257,7 +257,7 @@ class Operator(metaclass=NiftyMeta): from .simple_linear_operators import ducktape if not is_operator(self): - return NotImplemented + raise TypeError(f"'{type(self)}' object is not subscriptable") if not isinstance(self.target, MultiDomain): raise TypeError("Only Operators with a MultiDomain as target can be subscripted.") return ducktape(None, self, key) @ self