diff --git a/src/datatypes/field.rs b/src/datatypes/field.rs index fcd3b43bb76..1febcf1d3e4 100644 --- a/src/datatypes/field.rs +++ b/src/datatypes/field.rs @@ -60,10 +60,10 @@ impl PartialEq for Field { } impl Field { - /// Creates a new field - pub fn new(name: &str, data_type: DataType, nullable: bool) -> Self { + /// Creates a new [`Field`]. + pub fn new>(name: T, data_type: DataType, nullable: bool) -> Self { Field { - name: name.to_string(), + name: name.into(), data_type, nullable, dict_id: 0, @@ -73,15 +73,15 @@ impl Field { } /// Creates a new field - pub fn new_dict( - name: &str, + pub fn new_dict>( + name: T, data_type: DataType, nullable: bool, dict_id: i64, dict_is_ordered: bool, ) -> Self { Field { - name: name.to_string(), + name: name.into(), data_type, nullable, dict_id, diff --git a/src/datatypes/schema.rs b/src/datatypes/schema.rs index 70bcb7b21a7..bb8540655b6 100644 --- a/src/datatypes/schema.rs +++ b/src/datatypes/schema.rs @@ -24,9 +24,10 @@ use super::Field; /// An ordered sequence of [`Field`] with optional metadata. #[derive(Debug, Clone, PartialEq, Eq)] pub struct Schema { - pub(crate) fields: Vec, + /// The fields composing this schema. + pub fields: Vec, /// A map of key-value pairs containing additional meta data. - pub(crate) metadata: HashMap, + pub metadata: HashMap, } impl Schema {