former_meta 2.38.0

A flexible implementation of the Builder pattern supporting nested builders and collection-specific subformers. Implementation of its derive macro. Should not be used independently, instead use module::former which relies on the module.
Documentation
!<arch>
/               0           0     0     0       8         `
//                                              40        `
lib.lib.d9b39a54b5710aa6-cgu.0.rcgu.o/

lib.rmeta/      0           0     0     644     7176      `
ELF��@@GNU�rust
m#rustc 1.89.0 (29483883e 2025-08-04)���\&ᐛ��qAr��Vm-c3483603dfd59f9f��X"��	G�2F��*,w-73c0cd6a78a6866d���d!��(�Zh,�gс-162bc36d557e167b����/�Xan*�֒���-ac2b091369ab2ac1��	"v���BX8�%5���-7479aff4c468beba�rustc_std_workspace_core�hC>n(���Ӄ�-5c7604e360d2666d����4���<Vtv԰��4-af0a6a3e6971d2d9�cfg_if������!�3�Ҙ��-5f58d7e62c42cdaf�miniz_oxide���I#T6d(�dlJ�;�-7ddd6cb0880e3b11�adler2��,�8gj�p�h��!�-015edeae3ea0f284�	hashbrown��jmV������79��-dbd7235d0ae278b7�rustc_std_workspace_alloc��m�@��$]L92�0-8f5597f697bfbc25�
std_detect���qIp���´ho�y-6c940bf20a358cea�rustc_demangle�{�!���}kPd�W-2e950a2a676b871b�	addr2line�>W�1�-���j�-c31ab9d61a388beb�gimli�����寬������-a8dd55f6105d8e92�object�A3�Sg)���m_Ed-4d3d77de3acbf341�memchr�eɓ�H&*�15��—-866169f1ef861139���	���O�\�c�����-26bfe65386bc7ef6��4�������<������enabled��L�����diag�$�Q�W����O�U������FDB
derive_former�l�������<��������|�̚��%former�4�{�v�����<�v�������L�w��v��v����}
�30 # Former Meta - Procedural Macro Implementation�
4�
�8XU This crate provides the procedural macro implementation for the Former derive macro.�
��YV It handles the complex code generation required to implement the builder pattern with�
��HE advanced features like subforms, collections, and custom validation.�
��
� ## Architecture Overview�
��
��FC The Former meta crate is organized around several key components :�
��
��  ### Core Processing Pipeline�
��QN 1. **Input Parsing** : Parse derive input and extract struct/enum information�
��SP 2. **Attribute Processing** : Parse and validate all Former-specific attributes�
��QN 3. **Type Analysis** : Analyze generic parameters, lifetimes, and field types�
��C@ 4. **Code Generation** : Generate the complete Former ecosystem�
��KH 5. **Output Assembly** : Combine generated code into final token stream�
��
�� ### Key Modules�
��B? - [`derive_former`] : Main entry point and orchestration logic�
��/, - Field attribute processing and validation�
��/, - Struct attribute parsing and management  �
��63 - Generic parameter handling for complex scenarios�
��+( - Code generation for structs and enums�
��
�� ## Supported Constructs�
�	�
��	 ### Struct Support�
��	74 - **Simple Structs** : Basic field-based structures�
��	GD - **Generic Structs** : Complex generic parameters with constraints�
��
?< - **Lifetime Parameters** : Full lifetime parameter support�
��
52 - **Tuple Structs** : Positional field structures�
��
�� ### Enum Support  �
��;8 - **Unit Variants** : Simple enum variants without data�
��:7 - **Tuple Variants** : Variants with positional fields�
��63 - **Struct Variants** : Variants with named fields�
��?< - **Mixed Enums** : Enums combining different variant types�
�
�
ĩ
 ## Advanced Features�
�
�
��
 ### Collection Integration�
��
>; - Automatic detection and handling of standard collections�
��=: - Custom collection support through trait implementations�
��>; - Specialized builders for Vec, `HashMap`, `HashSet`, etc.�
��
�� ### Subform Support�
��52 - Nested structure building with full type safety�
��'$ - Automatic trait bound propagation�
��41 - Context preservation across subform boundaries�
��
�� ### Validation and Mutation�
��63 - Pre-formation validation through custom mutators�
��74 - Storage field manipulation before final formation�
��96 - Custom end handlers for specialized formation logic�
��
��%" ## Error Handling and Diagnostics�
��
��63 The macro provides comprehensive error reporting :�
��/, - Clear error messages for attribute misuse�
��-* - Helpful suggestions for common mistakes�
��30 - Debug output capabilities for troubleshooting�
��/, - Integration with Rust's diagnostic system�
��
��! ## Performance Considerations�
��
��FC - **Compile-time Generation** : All code generated at compile time�
��GD - **Minimal Runtime Overhead** : Generated code is highly optimized�
��SP - **Memory Efficient** : Strategic use of references and zero-cost abstractions�
��=: - **Lazy Evaluation** : Complex analysis only when needed�����8�l��7]https : //raw.githubusercontent.com/Wandalen/wTools/master/asset/img/logo_v3_trans_square.png���_��x����8����7jhttps : //raw.githubusercontent.com/Wandalen/wTools/alpha/asset/img/logo_v3_trans_square_icon_small_v2.ico���l�������8�l��7?https : //docs.rs/former_derive_meta/latest/former_derive_meta/���A��Z���������<�_���G8Z�pV"b=l�lhHhgy|e����"%��
q�T��٫X��W�������ODHT ���<�_���G8Z�pV"b=l�l[����������6���[����������6���=/home/user1/pro/lib/wTools/module/core/former_meta/src/lib.rs� �X��%�z�J�����}�4YZIG!RTRDLC007,8H@6<;7@?>?6(5 78:&70.40"GHT>Vy�[g %&gq{S(lWLXTK,;I/$ 0, 5AB3688I'5)<"
 @DHPHJ,+DB'#,.4!E/$'4,'(=B"ihy�h�r�� ,)))8%!.#25!!"
%%))'!!%;dPV n\",:"+,V(b="Idmc*ibO1hbJN+HQ/>S"=5jp`m_.MJO`T &
HAZ-:9SM.-
� �$�$�%�'�(�*�,�.�/�9�:�<7i���3������I*aarch64-unknown-linux-gnu�+
<u�y�n������	��
q�T����0��!N�rust-end-file.note.gnu.property.shstrtab.strtab.symtab.rmeta@ .�`�&8PQ5/0              0           0     0     644     2824      `
ELF�	@@BC��5b0A�
�`� p�q�w��P�@mn�y�p��@� �PB S!�!�#�A�I29��%�b�EB�BD28K
2"�Hp�!#D��A�d�� CF� �2"�X�!D������"��%:t�� 	"f�B��RB���q�PH
	&B�B"&���90�pyt�:h�zp�up�w�whvHw�|h�sp�zؐ������� wz0r�s mrpq�s z0r�� w z`t�v@m�x�x�s m�q`zv�s m�v@z`t��r�zr�m�s z`t��r�m`
�0r���Pc��.rN<˅k4q���ö��\w�$6-
�2�L��	&G�C� ���3���f=�C8�ÌB�yxs�q���3B��Ρf0=�C8���=�C=�=�x�tp{yH�ppzpvx�p ����0n0���P3��!�!�af0�;��;�C9�<��<�;��v`{h7h�rh7��p��p`v(v�vx�w��_�q�r��y��,�������0bȡ�̡��a�!ā�a֐C9�C9�C9�C9��8�C8�;��/��<��;�;���i�pX�rp�thx`�t�t���S��P��@� �P3 (���A�!܁�����fQ8�C:��;�P$v`{h7`�wxx�QL���P3j�a�!��~��!�aT��8��;�C=�C9��<�C;��;�Ì�
�y��w�tz(r��\����P�0#��A�����fH;��=����8�C9��<��9��;�<�H�qv`q�qX����`��� �0� �Pn�0�0�����P�0#��a���!�!�!�!�!f �;�C=�9��9�X�ppwxzzH�wp����0���@��0�s�w�_��pp�t��tЇr���A9��8�C=�C9�@Ġʡ�A��f$c0���0�@�0C!�usH�_��|��r���<��<��8�C:��;�Ì�H!Ba�!��R�fLg0� ���P�0�@��� ���0�@�vhy�R��;�;�C8̃�9��<�<��8�y %rH C�	r2H #�����D�(d<12B��!�(x�PIC Levelrustc version 1.89.0 (29483883e 2025-08-04)#0�3C@�2�������\������\�����F	�T����\�����F	
�-
r(�w�zXp�C=��8�C9�Â�ơ
�A���!�!��4�`�P� �@� �P����y(�p`vx�qz(rXp��8�;��=��k�!��� �a� ��aС�a�a�� �P��usH��8��;�C9��9��;�C9�=�;��<��;�;�=��<�C8��� ��Pq 2"�
�\�9`y�]_�}��`�o���2�g�e��BLXXXB[uX]!��20.1.7-rust-1.89.0-stable 9b1bf4cf041c1c1fe62cf03891ac90431615e780aarch64-unknown-linux-gnulib.d9b39a54b5710aa6-cgu.0rustc version 1.89.0 (29483883e 2025-08-04)D��))).text.comment.note.GNU-stack.llvmcmd$d.llvmbc.strtab.symtablib.d9b39a54b5710aa6-cgu.04�_@,�@� ��0�-)<0x