From d35ca864091c5dc6608d9e712348a2bc0faf7d50 Mon Sep 17 00:00:00 2001 From: Jammy2211 Date: Thu, 30 Jul 2026 20:17:17 +0100 Subject: [PATCH] fix: Optional[None] used as default value in tracer + max_separation Optional[None] evaluates to NoneType, a truthy class object, so these defaults silently passed `is not None` guards: the tracer's early-exit block ran on every default call (comparing plane_index == NoneType, always False) and SourceMaxSeparation's default only worked because np.isclose(NoneType, z) raises the TypeError the except clause catches. A real None preserves behavior at all three sites. Closes #674 Co-Authored-By: Claude Fable 5 --- autolens/lens/tracer.py | 2 +- autolens/lens/tracer_util.py | 2 +- autolens/point/max_separation.py | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/autolens/lens/tracer.py b/autolens/lens/tracer.py index b4cf929d6..e1b6811d9 100644 --- a/autolens/lens/tracer.py +++ b/autolens/lens/tracer.py @@ -247,7 +247,7 @@ def total_planes(self) -> int: @aa.decorators.to_grid def traced_grid_2d_list_from( - self, grid: aa.type.Grid2DLike, xp=np, plane_index_limit: int = Optional[None] + self, grid: aa.type.Grid2DLike, xp=np, plane_index_limit: Optional[int] = None ) -> List[aa.type.Grid2DLike]: """ Returns a ray-traced grid of 2D Cartesian (y,x) coordinates which accounts for multi-plane ray-tracing. diff --git a/autolens/lens/tracer_util.py b/autolens/lens/tracer_util.py index fb3b24c22..9b9186fed 100644 --- a/autolens/lens/tracer_util.py +++ b/autolens/lens/tracer_util.py @@ -175,7 +175,7 @@ def traced_grid_2d_list_from( planes: List[List[ag.Galaxy]], grid: aa.type.Grid2DLike, cosmology: ag.cosmo.LensingCosmology = None, - plane_index_limit: int = Optional[None], + plane_index_limit: Optional[int] = None, xp=np, ): """ diff --git a/autolens/point/max_separation.py b/autolens/point/max_separation.py index 411771014..aa7f22639 100644 --- a/autolens/point/max_separation.py +++ b/autolens/point/max_separation.py @@ -24,7 +24,7 @@ def __init__( data: aa.Grid2DIrregular, noise_map: Optional[aa.ArrayIrregular], tracer: Tracer, - plane_redshift: float = Optional[None], + plane_redshift: Optional[float] = None, xp=np, ): """