refactor: Make Point immutable

Changed Point from 'mutable struct' to 'struct'.

The Dict for fields remains a reference type, so field updates via setindex!
and update! still work correctly. This change improves type stability and
enables better compiler optimizations.

Benefits:
- Better compiler optimizations (immutable types)
- Type stability improvements
- Stack allocation when possible
- No breaking changes (Dict fields still mutable)

Tests: All 157 tests passing
This commit is contained in:
Jukka Aho
2025-11-09 03:30:29 +02:00
parent 907ec0b183
commit 6b24ed9d76
2 changed files with 5 additions and 4 deletions
+1 -1
View File
@@ -513,7 +513,7 @@ this returns a new instance with updated integration points.
"""
function with_integration_points(element::Element{N,NIP,M,B}, ips::NTuple{NNEW,IP}) where {N,NIP,M,B,NNEW}
return Element{N,NNEW,M,B}(element.id, element.connectivity, ips,
element.dfields, element.sfields, element.properties)
element.dfields, element.sfields, element.properties)
end
""" Find inverse isoparametric mapping of element. """