# 🦀 `ErasedSet`
You may be looking for:
- [Git repository](https://github.com/malobre/erased_set)
- [Crates.io](https://crates.io/crates/erased_set)
---
This crate provides a new collection: The [`ErasedSet`].
It can store any type `T: Any`.
## Example
```
# #[derive(Debug, PartialEq)]
# struct ClickEvent(u32, u32);
# #[derive(Debug, PartialEq)]
# struct KeyDownEvent(char);
#
use erased_set::ErasedSet;
let mut set = ErasedSet::new();
set.insert(ClickEvent(128, 256));
set.insert(KeyDownEvent('z'));
assert_eq!(set.get::(), Some(&ClickEvent(128, 256)));
assert_eq!(set.insert(KeyDownEvent('e')), Some(KeyDownEvent('z')));
set.remove::();
assert_eq!(set.len(), 1);
```
## Features
| name | default ? | description |
| ----------- | --------- | ------------------------- |
| `send` | yes | Enables [`ErasedSendSet`] |
| `sync` | yes | Enables [`ErasedSyncSet`] |
## `no_std` support
This crate is `no_std` compatible, however it still requires `alloc`.