Skip to main content

getters

Attribute Macro getters 

Source
#[getters]
👎Deprecated
Expand description

Generate getters for a struct fields

§Common arguments

  • include=[…] - generate getter/setters only for the listed fields. For example:
ⓘ
#[derive(trl)]
#[getters(include=[name, email])]
#[setters(include=[name, email])]
struct Test {/* ... */}

Would generate getters/setters for name and email fields.

  • exclude=[…] - generate getters/setters for all fields except the listed. For example
ⓘ
#[derive(trl)]
#[getters(exclude=[name, email])]
#[setters(exclude=[name, email])]
struct Test { /* ... */ }

Would generate getters/setters only for the id field.

  • pub - include public fields. By default public fields are ignored, but you can specify the pub argument to generate getters/setters for them too

  • prefix=… - generates getters/setters with specified prefix. For example

ⓘ
#[derive(trl)]
#[getters(prefix=get_)]
#[setters(prefix=set_)]
struct Test { /* ... */ }

Would generate getters:

  • get_id(), get_name(), get_email() and setters:
  • set_id(), set_name(), set_email()

Default value for getters is empty string, and for setters is set_

§Special agruments

  • ref / mut ref / move - specify the self modifier

For example:

ⓘ
#[derive(trl)]
#[getters(mut ref)]
struct Test { /* ... */ }

Would generate getters where self is taken as &mut self