Nile makes #testProvidedMethodBindingsWithConflicts fail in 3.9

Damien Cassou damien.cassou at gmail.com
Sat Jun 9 08:36:53 UTC 2007


Hi,

if you take a fresh 3.9 and run the test
TraitCompositionTest>>#testProvidedMethodBindingsWithConflicts, it
passes. Then, if you load Nile (package Nile-All from
http://www.squeaksource.com/Nile/), the test fail. However, Nile has
neither extension nor override in any trait related class.

the test is:

"
testProvidedMethodBindingsWithConflicts
  | traitWithConflict methodDict |
  traitWithConflict := self createTraitNamed: #TraitWithConflict
                                                             uses:
self t1 + self t4.
  methodDict := traitWithConflict methodDict.
  self assert: methodDict size = 6.
  self assert: (methodDict keys includesAllOf: #(
                   #m11
                   #m12
                   #m13
                   #m21
                   #m22
                   #m42
                 )).
  self
      assert: (methodDict at: #m11) decompileString = 'm11
     self traitConflict'
"

The failing assert is the last one. After having loaded Nile, m11 now
is "self requirement" instead of "self traitConflict".


Can you explain me what happens please?


-- 
Damien Cassou



More information about the Squeak-dev mailing list