Known backwards incompatibilities 3.1.2
Due to internal changes some edgecases are not supported anymore from version 3.1.2 onwards.
In IPKISS before 3.1.2 one could override a ChildCellProperty
in a derived class with a LockedProperty
.
For example, consider the following boilerplate code:
import ipkiss3.all as i3
class A(i3.PCell):
child = i3.ChildCellProperty()
class B(A):
# override the childcell property to make it locked
child = i3.LockedProperty()
This behavior was never really supported but didn’t result in errors either. Overriding with a LockedProperty
removes the type checking and can alter internal behavior compared to using a ChildCellProperty
.
In IPKISS 3.1.2 this will not work anymore. The correct way to make a childcell property locked is to use a ChildCellProperty
with the locked
keyword argument:
import ipkiss3.all as i3
class A(i3.PCell):
child = i3.ChildCellProperty()
class B(A):
child = i3.ChildCellProperty(locked=True)