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)