// Protocol Buffers - Google's data interchange format // Copyright 2023 Google LLC. 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 // LINT: LEGACY_NAMES // The purpose of this file is to be as hostile as possible to reserved words // to the Rust language and ensure it still works. syntax = "proto2"; // Note: Ideally this test could be 'package type.if.else.true.false' // which would work in Rust but would break the C++ codegen. package type.type; message Self { optional int32 for = 1; optional Self self = 2; optional bool true = 3; optional string false = 4; } message Pub { enum Self { enum = 0; } } message enum {} message Ref { oneof self { .type.type.Pub.Self const = 3; } }