1use std::borrow::Borrow;
2
3use gpui_shared_string::SharedString;
4
5#[derive(Clone, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
6pub struct ManifestName(SharedString);
7
8impl Borrow<SharedString> for ManifestName {
9 fn borrow(&self) -> &SharedString {
10 &self.0
11 }
12}
13
14impl Borrow<str> for ManifestName {
15 fn borrow(&self) -> &str {
16 &self.0
17 }
18}
19
20impl From<SharedString> for ManifestName {
21 fn from(value: SharedString) -> Self {
22 Self(value)
23 }
24}
25
26impl From<ManifestName> for SharedString {
27 fn from(value: ManifestName) -> Self {
28 value.0
29 }
30}
31
32impl AsRef<SharedString> for ManifestName {
33 fn as_ref(&self) -> &SharedString {
34 &self.0
35 }
36}