The following script causes an Invalid IL code exception when it's object is touched, changing the (ff == 0) to (ff == 0.) works:
default {
state_entry() { }
touch_start(integer num) {
float ff;
if (ff == 0) { // if(ff == 0.) {
llOwnerSay("Implicit conversion worked");
}
}
}
[18:41] Burled Gold Frame: Script run-time error
[18:41] Burled Gold Frame: System.InvalidProgramException: Invalid IL code in LSL_d87753bd_6364_1fd0_b217_57c6a9cec978:defaulttouch_start (int): IL_0066: ceq
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (object,object[])
at System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00000]