Build an array dynamically without heap allocations, deferring errors to a single `build` callsite. ```rust let arr: [u8; 3] = ArrayBuilder::new() .push(1) .push(2) .push(3) .build_exact() .unwrap(); assert_eq!(arr, [1, 2, 3]); ``` You can choose how to handle the wrong number of [`push`](ArrayBuilder::push) calls: - [`build_exact`](ArrayBuilder::build_exact). - [`build_pad`](ArrayBuilder::build_pad). - [`build_truncate`](ArrayBuilder::build_truncate). - [`build_pad_truncate`](ArrayBuilder::build_pad_truncate). # Comparison with other libraries - [`arrayvec`] requires you to handle over-provision at each call to [`try_push`](arrayvec::ArrayVec::try_push). - [`array_builder`](https://docs.rs/array_builder/latest/array_builder/) will [`panic!`] on over-provision.