// Protocol Buffers - Google's data interchange format
// Copyright 2008 Google Inc.  All rights reserved.
//
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file or at
// https://developers.google.com/open-source/licenses/bsd

// Author: Darick Tong (darick@google.com)
//
// A proto file with nested extensions for a MessageLite messages. Note that
// this must be defined in a separate file to properly test the initialization
// of the outer class.

// LINT: LEGACY_NAMES

edition = "2023";

package protobuf_unittest;

import "com/google/protobuf/non_nested_extension_lite.proto";

option optimize_for = LITE_RUNTIME;

message MyNestedExtensionLite {
  extend MessageLiteToBeExtended {
    MessageLiteToBeExtended recursiveExtensionLite = 3;
    double private = 2004;
  }
}
