Some further thoughts: in many cases, a static factory function gives more 
information than a constructor. For example, ```NDArray::Empty``` is certainly 
better than just using NDArray's constructor.

So we do want to keep static factory function if they are in reference types. 
Perhaps the usage of the constructor should be restricted to the case where it 
is apparently initializing the corresponding fields in the node, which is the 
case raised in the PR.

However, even if we want to use static factory functions, they should be in the 
NodeRef class, as opposed to the Node class.



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/dmlc/tvm/issues/3223#issuecomment-495051968

Reply via email to