Use TantivyError instead of &str for Fields
- Id
- 341ae979205ad99e6a11bb6b6763a0afa95281bb
- Author
- Caio
- Commit time
- 2019-12-06T14:17:17+01:00
Modified crates/cantine_derive/src/lib.rs
let err_msg = format!("Missing field for {} ({})", name, schema_name);
let quoted = format!("\"{}\"", schema_name);
quote_spanned! { field.span()=>
- #name: schema.get_field(#quoted).ok_or(#err_msg)?
+ #name: schema.get_field(#quoted).ok_or_else(
+ || tantivy::TantivyError::SchemaError(#err_msg.to_string()))?
}
} else {
unreachable!();
impl std::convert::TryFrom<&tantivy::schema::Schema> for #index_name {
// TODO better errors
- type Error = &'static str;
+ type Error = tantivy::TantivyError;
fn try_from(schema: &tantivy::schema::Schema) -> std::result::Result<Self, Self::Error> {
Ok(Self {