Currently, Boo allows for events to be raised outside of the assembly they have been declared in.
This raises security issues for those wishing to use an event-based environment with CAS. The follow code sample should not work and demonstrates the problem by invoking TriggerMe outside of its declaring assembly:
"""External assembly."""
namespace BooEventlib
import System
class MyClass:
def constructor():
pass
event TriggerMe as callable()
"""Consuming assembly."""
namespace BooTesta
import System
import System.Drawing
import System.Windows.Forms
import BooEventlib
m = MyClass()
m.TriggerMe += { print "LOL!" }
m.TriggerMe() //Should not be possible.