// Copyright 2020 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

syntax = "proto2";

package goproto.proto.testrequired;

message Int32 {
  required int32 v = 1;
}

message Int64 {
  required int64 v =  1;
}

message Uint32 {
  required uint32 v =  1;
}

message Uint64 {
  required uint64 v =  1;
}

message Sint32 {
  required sint32 v =  1;
}

message Sint64 {
  required sint64 v =  1;
}

message Fixed32 {
  required fixed32 v =  1;
}

message Fixed64 {
  required fixed64 v =  1;
}

message Float {
  required float v =  1;
}

message Double {
  required double v =  1;
}

message Bool {
  required bool v =  1;
}

message String {
  required string v =  1;
}

message Bytes {
  required bytes v =  1;
}

message Message {
  message M {}
  required M v = 1;
}

message Group {
  required group Group = 1 {
    optional int32 v = 1;
  }
}
