[](https://github.com/rodrimati1992/arrcat/actions)
[](https://crates.io/crates/arrcat)
[](https://docs.rs/arrcat/*)
Array concatenation
This crate allows concatenating multiple arrays of varying lengths into one array.
# Example
### `concat_arrays`
For more examples of using [`concat_arrays`],
you can [look here][concat_arrays_examples].
```rust
use arrcat::concat_arrays;
{
const PRIMES: [u16; 4] = [7, 11, 13, 17];
assert_eq!(
concat_arrays!([3, 4, 4u16.pow(3)], PRIMES),
[3, 4, 64, 7, 11, 13, 17],
);
}
{
let increasing = [8, 9, 10];
let concated = concat_arrays!(
// the macro can't infer the length of runtime array non-literals.
increasing: [_; 3],
// most non-literal arguments need to be wrapped in `()` or `{}`.
([2u16, 3, 4].map(|x| x * 9)): [_; 3],
);
assert_eq!(concated, [8, 9, 10, 18, 27, 36]);
}
```
# No-std support
`arrcat` is `#![no_std]`, it can be used anywhere Rust can be used.
# Minimum Supported Rust Version
`arrcat` requires Rust 1.57.0, requiring crate features to use newer language features.
[`concat_arrays`]: https://docs.rs/arrcat/*/arrcat/macro.concat_arrays.html
[concat_arrays_examples]: https://docs.rs/arrcat/*/arrcat/macro.concat_arrays.html#examples