pub fn from_static(src: &'static str) -> Self {
        let name = HeaderName::from_static(src);
        if !VE::is_valid_key(name.as_str()) {
            panic!("invalid metadata key")
        }

        MetadataKey {
            inner: name,
            phantom: PhantomData,
        }
    }
Converts a static string to a `MetadataKey`.

This function panics when the static string is a invalid metadata key.

This function requires the static string to only contain lowercase
characters, numerals and symbols, as per the HTTP/2.0 specification
and header names internal representation within this library.


# Examples

```
# use tonic::metadata::*;
// Parsing a metadata key
let CUSTOM_KEY: &'static str = "custom-key";

let a = AsciiMetadataKey::from_bytes(b"custom-key").unwrap();
let b = AsciiMetadataKey::from_static(CUSTOM_KEY);
assert_eq!(a, b);
```

```should_panic
# use tonic::metadata::*;
// Parsing a metadata key that contains invalid symbols(s):
AsciiMetadataKey::from_static("content{}{}length"); // This line panics!
```

```should_panic
# use tonic::metadata::*;
// Parsing a metadata key that contains invalid uppercase characters.
let a = AsciiMetadataKey::from_static("foobar");
let b = AsciiMetadataKey::from_static("FOOBAR"); // This line panics!
```

```should_panic
# use tonic::metadata::*;
// Parsing a -bin metadata key as an Ascii key.
let b = AsciiMetadataKey::from_static("hello-bin"); // This line panics!
```

```should_panic
# use tonic::metadata::*;
// Parsing a non-bin metadata key as an Binary key.
let b = BinaryMetadataKey::from_static("hello"); // This line panics!
```
tonic/src/metadata/key.rs