package pragma

import "google.golang.org/protobuf/internal/pragma"

Package pragma provides types that can be embedded into a struct to statically enforce or prevent certain language properties.

Index

Types

type DoNotCompare

type DoNotCompare [0]func()

DoNotCompare can be embedded in a struct to prevent comparability.

type DoNotCopy

type DoNotCopy [0]sync.Mutex

DoNotCopy can be embedded in a struct to help prevent shallow copies. This does not rely on a Go language feature, but rather a special case within the vet checker.

See https://golang.org/issues/8005.

type DoNotImplement

type DoNotImplement interface{ ProtoInternal(DoNotImplement) }

DoNotImplement can be embedded in an interface to prevent trivial implementations of the interface.

This is useful to prevent unauthorized implementations of an interface so that it can be extended in the future for any protobuf language changes.

type NoUnkeyedLiterals

type NoUnkeyedLiterals struct{}

NoUnkeyedLiterals can be embedded in a struct to prevent unkeyed literals.

Source Files

pragma.go

Version
v1.36.5 (latest)
Published
Feb 6, 2025
Platform
linux/amd64
Imports
1 packages
Last checked
10 hours ago

Tools for package owners.