ast: Remove no-arg constructor from Node

Bug: tint:396
Bug: tint:390
Change-Id: I730738dd6bafa946dc66ee8a15c48b3a3f73e5fc
Reviewed-on: https://dawn-review.googlesource.com/c/tint/+/35164
Commit-Queue: Ben Clayton <bclayton@google.com>
Reviewed-by: David Neto <dneto@google.com>
diff --git a/src/ast/clone_context_test.cc b/src/ast/clone_context_test.cc
index 48c00d7..386a1ae 100644
--- a/src/ast/clone_context_test.cc
+++ b/src/ast/clone_context_test.cc
@@ -23,6 +23,8 @@
 namespace {
 
 struct Cloneable : public Castable<Cloneable, Node> {
+  Cloneable() : Base(Source{}) {}
+
   Cloneable* a = nullptr;
   Cloneable* b = nullptr;
   Cloneable* c = nullptr;
diff --git a/src/ast/node.cc b/src/ast/node.cc
index 18306cd..8d0f1e0 100644
--- a/src/ast/node.cc
+++ b/src/ast/node.cc
@@ -21,8 +21,6 @@
 namespace tint {
 namespace ast {
 
-Node::Node() = default;
-
 Node::Node(const Source& source) : source_(source) {}
 
 Node::Node(Node&&) = default;
diff --git a/src/ast/node.h b/src/ast/node.h
index 42301d5..b4f6120 100644
--- a/src/ast/node.h
+++ b/src/ast/node.h
@@ -62,8 +62,6 @@
 
  protected:
   /// Create a new node
-  Node();
-  /// Create a new node
   /// @param source the input source for the node
   explicit Node(const Source& source);
   /// Move constructor