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

// fidl_experiment = output_index_json

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

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

::test_driveroneway::Payload::Storage_ test_driveroneway::Payload::CloneStorage_() const {
  return Storage_{
      ::fidl::internal::NaturalClone(storage_.value)};
}

::test_driveroneway::OneWaySendRequest::Storage_ test_driveroneway::OneWaySendRequest::CloneStorage_() const {
  return Storage_{
      ::fidl::internal::NaturalClone(storage_.payload)};
}

#pragma clang diagnostic pop
