[Pharo-project] Big problem with the implementation of traits

Stéphane Ducasse stephane.ducasse at inria.fr
Sun Jan 18 15:13:46 EST 2009


On Jan 18, 2009, at 7:29 PM, Alexandre Bergel wrote:

>
>> I  read the description of http://code.google.com/p/pharo/issues/detail?id=246
>> , but I haven't seen this bug. (Object allSubclasses reject:
>> #isMeta) select: [:cls | cls classVarNames ~= cls class  
>> classVarNames]
>> is empty in my image
>
> In one of the comment, Marcus said this is fixed already.

normally yes it was. I rely on the fix for moose extraction.
>
>
> Cheers,
> Alexandre
>
>
>>
>>
>> Before your change, 87 out of 88 tests on traits are green. The only
>> failing one is testLocalMethodWithSameCodeInTrait. Are there some
>> compiled method sharing still? Or each compiled method is copied?
>> Same ratio of green tests after having loaded your change.
>>
>> That strange, Traits-adrian_lienhard.258 removes only two test  
>> methods
>> (testTraitsUsersSanity and testUsersWithClassChanges). These two
>> methods do not exist in my image. The comment said this fix the issue
>> 443 (http://code.google.com/p/pharo/issues/detail?id=443). I do not
>> see how you change is related to this bug.
>>
>> Hope it helps,
>> Alexandre
>>
>>
>>
>> On 18 Jan 2009, at 18:27, Adrian Lienhard wrote:
>>
>>> I've published a fix to the inbox.  Since the bug was related to  
>>> some
>>> implementation details of the ClassBuilder and hence non-trivial,  
>>> I'd
>>> appreciate if somebody could try it out and verify that traits still
>>> work as expected. I've added tests that document the bug and they  
>>> run
>>> green now (with the other 80 traits tests).
>>> For details see http://code.google.com/p/pharo/issues/detail?id=443
>>> Adrian
>>>
>>> On Jan 17, 2009, at 15:29 , Adrian Lienhard wrote:
>>>
>>>> Well, if you just want to make your numbers be right, that's easy:
>>>>
>>>> Smalltalk allTraits do: [ :each | each instVarNamed: 'users' put:
>>>> IdentitySet new ].
>>>> Smalltalk allClassesAndTraits do: [ :each |
>>>> 	each hasTraitComposition ifTrue: [ each setTraitComposition: each
>>>> traitComposition ] ].
>>>>
>>>> This recreates all users sets.
>>>>
>>>> Adrian
>>>>
>>>> On Jan 15, 2009, at 18:20 , Damien Cassou wrote:
>>>>
>>>>> On Thu, Jan 15, 2009 at 6:18 PM, Adrian Lienhard <adi at netstyle.ch>
>>>>> wrote:
>>>>>> BTW, why is this so pressing now? This bug has existed for four
>>>>>> years.
>>>>>
>>>>> We are writing an article and we have lots of metrics  
>>>>> automatically
>>>>> calculated (and the LaTeX tables are also automatically  
>>>>> generated).
>>>>> Since the article and the metrics are about trait users...
>>>>>
>>>>> -- 
>>>>> Damien Cassou
>>>>> http://damiencassou.seasidehosting.st
>>>>>
>>>>> _______________________________________________
>>>>> Pharo-project mailing list
>>>>> Pharo-project at lists.gforge.inria.fr
>>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo- 
>>>>> project
>>>>
>>>>
>>>> _______________________________________________
>>>> Pharo-project mailing list
>>>> Pharo-project at lists.gforge.inria.fr
>>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>>
>>> _______________________________________________
>>> Pharo-project mailing list
>>> Pharo-project at lists.gforge.inria.fr
>>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>>
>>
>> -- 
>> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
>> Alexandre Bergel  http://www.bergel.eu
>> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> Pharo-project mailing list
>> Pharo-project at lists.gforge.inria.fr
>> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>>
>
> -- 
> _,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:
> Alexandre Bergel  http://www.bergel.eu
> ^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;._,.;:~^~:;.
>
>
>
>
>
>
> _______________________________________________
> Pharo-project mailing list
> Pharo-project at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/pharo-project
>





More information about the Pharo-dev mailing list