Use less clash-able names for the generated types
- Id
- 9aa042788b55ba14766fb9f53226869f550bca55
- Author
- Caio
- Commit time
- 2020-02-08T11:21:22+01:00
Modified cantine_derive/tests/aggregation_query.rs
pub d: Option<f64>,
}
+type FeatAggregationResult = <Feat as Aggregable>::Agg;
+type FeatAggregationQuery = <Feat as Aggregable>::Query;
+
#[test]
fn aggregation_result_from_query() {
let res = FeatAggregationResult::from(FeatAggregationQuery {
Modified cantine_derive/internal/src/lib.rs
fn make_filter_query(input: &DeriveInput) -> TokenStream2 {
let feat = &input.ident;
- let name = format_ident!("{}FilterQuery", &input.ident);
+ let name = format_ident!("FilterableFilterQuery{}", &input.ident);
let fields: Vec<_> = get_public_struct_fields(&input).cloned().collect();
}
});
- let index_name = format_ident!("{}FilterFields", &input.ident);
+ let index_name = format_ident!("FilterableFilterFields{}", &input.ident);
let index_fields = fields.iter().map(|field| {
let name = &field.ident;
quote_spanned! { field.span()=>
let from_decls = fields.iter().map(|field| {
let name = field.ident.as_ref().unwrap();
- let schema_name = format_ident!("_filter_{}", &name);
- let quoted = format!("\"{}\"", schema_name);
+ let field_name = format_ident!("Filterable_field_{}", &name);
+ let quoted = format!("\"{}\"", field_name);
let ty = extract_type_if_option(&field.ty).unwrap_or(&field.ty);
let field_type = get_field_type(&ty);
let try_from_decls = fields.iter().map(|field| {
if let Some(name) = &field.ident {
- let schema_name = format_ident!("_filter_{}", &name);
- let err_msg = format!("Missing field for {} ({})", name, schema_name);
- let quoted = format!("\"{}\"", schema_name);
+ let field_name = format_ident!("Filterable_field_{}", &name);
+ let err_msg = format!("Missing field for {} ({})", name, field_name);
+ let quoted = format!("\"{}\"", field_name);
quote_spanned! { field.span()=>
#name: schema.get_field(#quoted).ok_or_else(
|| tantivy::TantivyError::SchemaError(#err_msg.to_string()))?
}
fn make_agg_query(input: &DeriveInput) -> TokenStream2 {
- let name = format_ident!("{}AggregationQuery", &input.ident);
+ let name = format_ident!("AggregableAggregationQuery{}", &input.ident);
let fields = get_public_struct_fields(&input).map(|field| {
let name = &field.ident;
fn make_agg_result(input: &DeriveInput) -> TokenStream2 {
let feature = &input.ident;
- let name = format_ident!("{}AggregationResult", &input.ident);
+ let name = format_ident!("AggregableAggregationResult{}", &input.ident);
let fields = get_public_struct_fields(&input).map(|field| {
let name = &field.ident;
}
});
- let agg_query = format_ident!("{}AggregationQuery", &input.ident);
+ let agg_query = format_ident!("AggregableAggregationQuery{}", &input.ident);
let convert_code = get_public_struct_fields(&input).map(|field| {
let name = &field.ident;
quote_spanned! { field.span()=>