diff --git a/src/Fuel-Core/FLTraitCluster.class.st b/src/Fuel-Core/FLTraitCluster.class.st index fc3d544bab3..babeea3acb1 100644 --- a/src/Fuel-Core/FLTraitCluster.class.st +++ b/src/Fuel-Core/FLTraitCluster.class.st @@ -38,9 +38,6 @@ FLTraitCluster >> materializePostInstance: aTrait with: aDecoder [ aTrait initialize; - "#initialize sets Object as the superclass - but the superclass of traits is nil" - basicSuperclass: nil; setName: name; environment: environment. diff --git a/src/Traits-Tests/TraitTest.class.st b/src/Traits-Tests/TraitTest.class.st index 2b9c5568f9a..464dc0cd44c 100644 --- a/src/Traits-Tests/TraitTest.class.st +++ b/src/Traits-Tests/TraitTest.class.st @@ -768,6 +768,12 @@ TraitTest >> testTraitHaveUsersInstanceVariable [ self assert: (aClass slotNamed: #users) definingClass equals: t1 ] +{ #category : 'tests' } +TraitTest >> testTraitInitialize [ + "this tests that #intialize is correctly setting the superclass to nil" + self assert: Trait new superclass isNil +] + { #category : 'tests' } TraitTest >> testTraitRemoval [ diff --git a/src/Traits/Trait.class.st b/src/Traits/Trait.class.st index fce47f8b4fb..44a3bac1192 100644 --- a/src/Traits/Trait.class.st +++ b/src/Traits/Trait.class.st @@ -122,6 +122,12 @@ Trait >> expandedDefinitionStringFor: aPrinter [ ^ aPrinter expandedTraitDefinitionString ] +{ #category : 'initialization' } +Trait >> initialize [ + super initialize. + self basicSuperclass: nil +] + { #category : 'testing' } Trait >> isBaseTrait [