// WARNING: This file is machine generated by fidlgen.

// fidl_experiment = output_index_json

#include <fidl/test.drivertwoway/cpp/natural_types.h>

#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wshadow"

::test_drivertwoway::TwoWayAddRequest::Storage_ test_drivertwoway::TwoWayAddRequest::CloneStorage_() const {
  return Storage_{
      ::fidl::internal::NaturalClone(storage_.addend1),
      ::fidl::internal::NaturalClone(storage_.addend2)};
}

::test_drivertwoway::TwoWayAddResponse::Storage_ test_drivertwoway::TwoWayAddResponse::CloneStorage_() const {
  return Storage_{
      ::fidl::internal::NaturalClone(storage_.sum)};
}

#pragma clang diagnostic pop
