pub trait MessageFull: Message + ProtobufValue + Debug + Display {
    fn descriptor() -> MessageDescriptor;

    fn reflect_eq(&self, other: &Self, mode: &ReflectEqMode) -> bool { ... }
}
Expand description

Trait implemented for all the generated messages, except when lite runtime is enabled.

When lite runtime is enabled, only MessageLite is implemented.

  • Generated messages are generated from .proto files
  • Dynamic messages can be created without code generation using only parsed proto files (see FileDescriptor::new_dynamic).

Also, generated messages implement Default + PartialEq

This trait is sized, there’s accompanying MessageDyn trait which is implemented for all messages which can be used in functions without making message a function type parameter.

Display

Display implementation for messages does protobuf text format. See text_format for more details.

Required Methods

Get message descriptor for message type.

let descriptor = MyMessage::descriptor();
assert_eq!("MyMessage", descriptor.name());

Provided Methods

Reflective equality.

See also

[dyn Message::reflect_eq_dyn()], dyn version of this function.

Implementors