Throw error when Firing a BindableEvent with improper values

On a wiki page, there occurs documentation as follows:

BindableEvent Valid Values

This code sample shows the kinds of values that can be sent when firing BindableEvents using Fire. Test this code by placing a Script within a BindableEvent inside the Workspace or ServerScriptService. It will raise errors on the values that cannot be fired.

Consider the following code:

local Bindable = Instance.new("BindableEvent")

Bindable.Event:Connect(function(b)
    print(typeof(b))
end)

local thread = coroutine.create(function() end)
print(typeof(thread))
Bindable:Fire(thread)

Here is the output:

thread
nil

The documentation says “It will raise errors on the values that cannot be fired.” To me, it seems apparent from the documentation that it should error if a thread is passed in, rather than silently converting it to nil. It would also be nice to have a note on the wiki page in question that threads (alongside mixed tables) are invalid arguments to pass into Fire.

I request that an error is added to the engine for this scenario.

1 Like