¿Cómo obtener programáticamente el número de campos de una estructura?

Tengo una estructura personalizada como la siguiente:

struct MyStruct {
    first_field: i32,
    second_field: String,
    third_field: u16,
}

¿Es posible obtener el número de campos de estructura mediante programación (como, por ejemplo, mediante un método llamadofield_count()):

let my_struct = MyStruct::new(10, "second_field", 4);
let field_count = my_struct.field_count(); // Expecting to get 3

Para esta estructura:

struct MyStruct2 {
    first_field: i32,
}

... la siguiente llamada debería devolver1:

let my_struct_2 = MyStruct2::new(7);
let field_count = my_struct2.field_count(); // Expecting to get count 1

¿Hay alguna API comofield_count() ¿o solo es posible obtenerlo a través de macros?

Si esto se puede lograr con macros, ¿cómo debería implementarse?

Respuestas a la pregunta(2)

Su respuesta a la pregunta