Even though this is syntactically correct, the void return type should not be used in the signature of a constructor. Indeed some
developers might be confused by this syntax, believing that the constructor is in fact a standard function.
public class Foo
{
public function Foo() : void
{...}
}
public class Foo
{
public function Foo()
{...}
}