build(rust): vendor rnix parser crate
This commit was merged in pull request #57.
This commit is contained in:
1 parent
cbdf482422
commit
82ad65a3a4
492 files changed
+67785
-1
No files matched your search
+30
@@ -0,0 +1,30 @@
|
||||
#[derive(Debug)]
|
||||
pub(crate) enum CowMut<'a, T> {
|
||||
Owned(T),
|
||||
Borrowed(&'a mut T),
|
||||
}
|
||||
|
||||
impl<T> std::ops::Deref for CowMut<'_, T> {
|
||||
type Target = T;
|
||||
fn deref(&self) -> &T {
|
||||
match self {
|
||||
CowMut::Owned(it) => it,
|
||||
CowMut::Borrowed(it) => *it,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T> std::ops::DerefMut for CowMut<'_, T> {
|
||||
fn deref_mut(&mut self) -> &mut T {
|
||||
match self {
|
||||
CowMut::Owned(it) => it,
|
||||
CowMut::Borrowed(it) => *it,
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl<T: Default> Default for CowMut<'_, T> {
|
||||
fn default() -> Self {
|
||||
CowMut::Owned(T::default())
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user