Hi,

I've encountered a bizarre bug when a function is used together with a declared type and a rule with mvel dialect.

To reproduce create a default 'New Drools Project' in Eclipse and replace Sample.drl with the following:
--------------------------------------------------------------------------
package com.sample
 
function void aaa() { // <----- comment this and it will work
}

declare SomeBean
prop : int
end
 
rule "setup"
dialect "mvel"   // <----- comment this and it will work
when
eval(true)
then
SomeBean someBean = new SomeBean();
insert(someBean);
System.out.println( "setup inserted:" + someBean);
end

rule "should never fire"
salience -20
when
not SomeBean()
then
System.out.println( "rule that should never fire fired !!!" );
end
------------------------------------------------------------------------

Run the DroolsTest.java and see that the last rule that should never fire is actually fired. If you comment out the 'aaa' function or change the dialect to 'java' all works fine.

Note that it breaks on JDK 1.5.0_12 however it works fine on JDK 1.6.0_14.
Tested on WinXP.

Is it just my machine or does anybody else see this issue?

Best regards,
Michal