On 16 janv. 2014, at 16:58, Marcus Denker <marcus.denker@inria.fr> wrote:
Hello,
I was looking into that, the first (maybe only) reason is that the new class builder can not make anonymous subclasses of classes with ByteLayout
Is that really a bug? Should it really be possible to subclass a class that has a byte layout with a class that has a fixed layout? Because: AnonymousClassInstaller make: [ :builder | builder superclass: NBExternalTypeValue ] raises IncompatibleLayout but: AnonymousClassInstaller make: [ :builder | builder superclass: NBExternalTypeValue; layoutClass: ByteLayout ] doesn't. A simple fix is to take the same layout class than the superclass by default instead of FixedLayout, isn't it? For example with lazy initialization: SlotClassBuilder>>#layoutClass ^ layoutClass ifNil: [ layoutClass := superclass layout class ]
https://pharo.fogbugz.com/f/cases/12488/Can-not-create-newAnonymousSubclass-...
On 16 Jan 2014, at 16:55, Torsten Bergmann <astares@gmx.de> wrote:
When loading PunQLite [1] in recent Pharo3.0 Latest update: #30700 I get an exception (IncompatibleLayoutConflict).
It all boils down to the single expression:
(NBExternalTypeValue ofType: 'NBInt64')
from an initialize method which raises this. When I try in Pharo3.0 Latest update: #30579 it works.
How can this be fixed? Is there something missing from the latest NB integration?
Thx T.