Anton Pryamostanov created GROOVY-8892:
------------------------------------------

             Summary: Trait instance init blocks are called only when there are 
fields defined in same Trait
                 Key: GROOVY-8892
                 URL: https://issues.apache.org/jira/browse/GROOVY-8892
             Project: Groovy
          Issue Type: Bug
            Reporter: Anton Pryamostanov


With ref. to GROOVY-8880, it seems Instance Init Blocks in Traits are 
appended/called only when there are fields defined in the same trait. 

Example:
{code}
trait TraitOne {
    {
        System.out.println("Does not work")
    }
}
trait TraitTwo {
    Integer instanceCounter //immutable, non-shareable
    {
        System.out.println("Works")
        instanceCounter = 1
    }
}
class ClassWithTrait implements TraitOne, TraitTwo {
}
new ClassWithTrait().instanceCounter
{code}

Output:
{code}
Works
{code}

Expected output (order may differ):
{code}
Works
Does not work
{code}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to