pub fn insert_bin<K>(
        &mut self,
        key: K,
        val: MetadataValue<Binary>,
    ) -> Option<MetadataValue<Binary>>
    where
        K: IntoMetadataKey<Binary>,
    {
        key.insert(self, val)
    }
Like insert, but for Binary keys (for example "trace-proto-bin").

This method panics when the given key is a string and it cannot be
converted to a `MetadataKey<Binary>`.

# Examples

```
# use tonic::metadata::*;
let mut map = MetadataMap::new();
assert!(map.insert_bin("trace-proto-bin", MetadataValue::from_bytes(b"world")).is_none());
assert!(!map.is_empty());

let mut prev = map.insert_bin("trace-proto-bin", MetadataValue::from_bytes(b"earth")).unwrap();
assert_eq!("world", prev);
```

```should_panic
# use tonic::metadata::*;
let mut map = MetadataMap::default();
// Attempting to add a binary metadata entry with an invalid name
map.insert_bin("trace-proto", MetadataValue::from_bytes(b"hello")); // This line panics!
```

```should_panic
# use tonic::metadata::*;
let mut map = MetadataMap::new();
// Trying to insert a key that is not valid panics.
map.insert_bin("x{}host-bin", MetadataValue::from_bytes(b"world")); // This line panics!
```
tonic/src/metadata/map.rs