C++ interface function with void() signature can't be recognized by blueprint

for example

class XXX_API ITargetable
{
	GENERATED_BODY()

public:

	UFUNCTION(BlueprintCallable,BlueprintNativeEvent)
	void OnTargeted();
};

if I create a blueprint actor implement the interface, I can’t find the function OnTargeted() in the Interfaces section

So I have to change void OnTargeted() to bool OnTargeted() now The Blueprint can recognized it now.

Is this a bug?

Functions without return values (void) will be implemented as Events rather than as functions. This is the behaviour with both blueprint interfaces and C++ interfaces which have been extended to blueprints.

Use the right click menu in the BP graph and search for the event by name.