Remove base::ManualConstructor.

Usage of base::ManualConstructor can be replaced with unions,
base::Optional, or (in the future) std::aligned_storage.

Bug: 773351
Change-Id: I1a82a2657798a98bf6c682702f22bb108d9cfc02
Reviewed-on: https://chromium-review.googlesource.com/711325
Reviewed-by: Brett Wilson <brettw@chromium.org>
Commit-Queue: Daniel Cheng <dcheng@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#508787}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: f4ecd4bed36c803a8ab88e44bd5a91bdd3d95d46
diff --git a/tools/gn/value.h b/tools/gn/value.h
index 3103509..13beb6f 100644
--- a/tools/gn/value.h
+++ b/tools/gn/value.h
@@ -120,8 +120,8 @@
  private:
   // This are a lot of objects associated with every Value that need
   // initialization and tear down every time. It might be more efficient to
-  // create a union of ManualConstructor objects (see small_map) and only
-  // use the one we care about.
+  // create a union of objects (see small_map) and only use the one we care
+  // about.
   Type type_;
   std::string string_value_;
   bool boolean_value_;