Every call to a function with a non-void return type is expected to return some value. If there is no value that's valid, you should ``++return undefined;++`` rather than using a void return (``++return;++``).  Conversely, every call to a function with a void return type is expected to not return any value, even ``++undefined++``. 


This rule raises an issue when ``++undefined++`` is returned from a void function, and when void is returned from a non-void function.

== Noncompliant Code Example

----
function nonvoidFunction(): number | undefined {
    return;  // Noncompliant
}

function voidFunction(): void {
    return undefined;  // Noncompliant
}
----

== Compliant Solution

----
function nonvoidFunction(): number | undefined {
    return undefined;
}

function voidFunction(): void {
    return;
}
----

include::../see.adoc[]

ifdef::env-github,rspecator-view[]
== Comments And Links
(visible only on this page)

include::../comments-and-links.adoc[]
endif::env-github,rspecator-view[]
