Move Cloned to core.
This commit is contained in:
parent
1918388ddf
commit
5440efa4bf
4 changed files with 20 additions and 17 deletions
|
@ -55,6 +55,7 @@ mod value_type_set;
|
||||||
mod sql_types;
|
mod sql_types;
|
||||||
|
|
||||||
pub use types::{
|
pub use types::{
|
||||||
|
Cloned,
|
||||||
Entid,
|
Entid,
|
||||||
FromRc,
|
FromRc,
|
||||||
KnownEntid,
|
KnownEntid,
|
||||||
|
|
|
@ -72,6 +72,23 @@ impl<T> FromRc<T> for Arc<T> where T: Sized + Clone {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// We do this a lot for errors.
|
||||||
|
pub trait Cloned<T> {
|
||||||
|
fn cloned(&self) -> T;
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<T: Clone> Cloned<T> for Rc<T> where T: Sized + Clone {
|
||||||
|
fn cloned(&self) -> T {
|
||||||
|
(*self.as_ref()).clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<T: Clone> Cloned<T> for Arc<T> where T: Sized + Clone {
|
||||||
|
fn cloned(&self) -> T {
|
||||||
|
(*self.as_ref()).clone()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
// Use Rc for values.
|
// Use Rc for values.
|
||||||
//
|
//
|
||||||
|
|
|
@ -25,12 +25,9 @@ use std::fmt::{
|
||||||
Formatter,
|
Formatter,
|
||||||
};
|
};
|
||||||
|
|
||||||
use std::ops::{
|
|
||||||
Deref,
|
|
||||||
};
|
|
||||||
|
|
||||||
use mentat_core::{
|
use mentat_core::{
|
||||||
Attribute,
|
Attribute,
|
||||||
|
Cloned,
|
||||||
Entid,
|
Entid,
|
||||||
HasSchema,
|
HasSchema,
|
||||||
KnownEntid,
|
KnownEntid,
|
||||||
|
@ -100,17 +97,6 @@ pub use self::inputs::QueryInputs;
|
||||||
|
|
||||||
use Known;
|
use Known;
|
||||||
|
|
||||||
// We do this a lot for errors.
|
|
||||||
trait Cloned<T> {
|
|
||||||
fn cloned(&self) -> T;
|
|
||||||
}
|
|
||||||
|
|
||||||
impl<T: Clone> Cloned<T> for ::mentat_core::ValueRc<T> {
|
|
||||||
fn cloned(&self) -> T {
|
|
||||||
self.deref().clone()
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
trait Contains<K, T> {
|
trait Contains<K, T> {
|
||||||
fn when_contains<F: FnOnce() -> T>(&self, k: &K, f: F) -> Option<T>;
|
fn when_contains<F: FnOnce() -> T>(&self, k: &K, f: F) -> Option<T>;
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,6 +9,7 @@
|
||||||
// specific language governing permissions and limitations under the License.
|
// specific language governing permissions and limitations under the License.
|
||||||
|
|
||||||
use mentat_core::{
|
use mentat_core::{
|
||||||
|
Cloned,
|
||||||
Entid,
|
Entid,
|
||||||
HasSchema,
|
HasSchema,
|
||||||
TypedValue,
|
TypedValue,
|
||||||
|
@ -24,8 +25,6 @@ use mentat_query::{
|
||||||
Variable,
|
Variable,
|
||||||
};
|
};
|
||||||
|
|
||||||
use super::Cloned;
|
|
||||||
|
|
||||||
use clauses::{
|
use clauses::{
|
||||||
ConjoiningClauses,
|
ConjoiningClauses,
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in a new issue