| // 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 |
| // The purpose of this file is to be hostile on field/message/enum naming and |
| // ensure that it works (e.g. collisions between names and language keywords, |
| // collisions between two different field's accessor's names). |
| // Note: Ideally this test could be 'package type.if.else.true.false' |
| // which would work in Rust but would break the C++ codegen. |
| optional string false = 4; |
| .type.type.Pub.Self const = 3; |
| // A message where the accessors would collide that should still work. Note that |
| // not all collisions problems are avoided, not least because C++ Proto does not |
| // avoid all possible collisions (eg a field `x` and `clear_x` will often not |
| message AccessorsCollide { |