pharo-project / pharo

Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk.
http://pharo.org
Other
1.22k stars 358 forks source link

Fluid is not equivalent to old subclass system for Trait aliasing #11253

Open AntoineDelaby opened 2 years ago

AntoineDelaby commented 2 years ago

Bug description

class1 := Object subclass: #Test1
    uses: Trait2 @ {#c3->#c2}
    instanceVariableNames: ''
    classVariableNames: ''
    package: 'Tests-Traits-MOP'.

class2 := Object << #Test2
    traits: {Trait2 @ {#c3->#c2}};
    slots: {};
    tag: 'Traits-MOP';
    package: 'Tests';
    install.

class1 class baseComposition = class2 class baseComposition 

With old code of class installation, baseComposition is of class TaAliasMethod, but when applying Fluid, it is a TaSequence.

To Reproduce See code above.

Expected behavior Both baseComposition should be TaAliasMethod.

Version information:

welcome[bot] commented 2 years ago

Thanks for opening your first issue! Please check the CONTRIBUTING documents for some tips about which information should be provided. You can find information of how to do a Pull Request here: https://github.com/pharo-project/pharo/wiki/Contribute-a-fix-to-Pharo

GitHub
Contribute a fix to Pharo · pharo-project/pharo Wiki
Pharo is a dynamic reflective pure object-oriented language supporting live programming inspired by Smalltalk. - Contribute a fix to Pharo · pharo-project/pharo Wiki