Hello,<br><br>Does anyone know why rule &quot;GoodBye2&quot; below does not compile, but rule &quot;GoodBye1&quot; does compile using Drools 4.0.0?&nbsp; The only difference is the &quot;not&quot;.&nbsp; Shouldn&#39;t this be valid?
<br><br>Thanks,<br>-Chris<br><br><br>package com.sample<br>&nbsp;<br>import com.sample.DroolsTest.Message;<br>import com.sample.DroolsTest.Foo;<br>import java.util.List;<br>&nbsp;<br>rule &quot;Hello World&quot;<br>&nbsp;&nbsp; &nbsp;when<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;m : Message( status == 
Message.HELLO, message : message )<br>&nbsp;&nbsp; &nbsp;then<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;System.out.println( message ); <br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;m.setMessage( &quot;Goodbye cruel world&quot; );<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;m.setStatus( Message.GOODBYE );<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;update( m );<br>end
<br><br>rule &quot;GoodBye1&quot;<br>&nbsp;&nbsp; &nbsp;no-loop true<br>&nbsp;&nbsp; &nbsp;when<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;m : Message( status == Message.GOODBYE, message : message, $foos: foos )<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Foo(id == 10) from $foos<br>&nbsp;&nbsp; &nbsp;then<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;System.out.println
( message ); <br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;m.setMessage( message );<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>end<br><br>rule &quot;GoodBye2&quot;<br>&nbsp;&nbsp; &nbsp;no-loop true<br>&nbsp;&nbsp; &nbsp;when<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;m : Message( status == Message.GOODBYE, message : message, $foos: foos )<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;not Foo(id == 10) from $foos<br>&nbsp;&nbsp; &nbsp;then<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;System.out.println( message ); <br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;m.setMessage( message );<br>&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br>end