From b4858863242b54f4081b6a35b1066b824c871a28 Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Fri, 14 Nov 2025 23:16:48 +0200 Subject: [PATCH] fix(integration): Resolve IntegrationPoint name conflict MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Add alias IntegrationPointNEW to capture NEW API type before it's shadowed by legacy core_types.jl definitions. Update integration_points() to explicitly use IntegrationPointNEW{D} with dimension parameter, avoiding ambiguity between old and new API types. This is a temporary workaround during the old→new API migration phase. Once legacy code is removed, IntegrationPoint will be the canonical type. --- src/integration/gauss.jl | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/integration/gauss.jl b/src/integration/gauss.jl index edc1f9e..72b0b61 100644 --- a/src/integration/gauss.jl +++ b/src/integration/gauss.jl @@ -1,6 +1,10 @@ # This file is a part of JuliaFEM. # License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md +# NOTE: Must create alias before core_types.jl shadows IntegrationPoint! +# This is defined in integration/integration.jl as IntegrationPoint{D} +const IntegrationPointNEW = IntegrationPoint # Capture NEW API type before it's shadowed + """ Gauss{N} <: AbstractIntegration @@ -235,7 +239,8 @@ function integration_points(scheme::Gauss{N}, topology::T) where {N,T<:AbstractT data_vec = collect(quad_data) result = ntuple(length(data_vec)) do i weight, point = data_vec[i] - IntegrationPoint(point, weight) # Type inference from arguments + # Use NEW API IntegrationPoint{D} (aliased as IntegrationPointNEW to avoid shadowing) + IntegrationPointNEW{D}(point, weight) end return result end