Fix bug preventing structs from using selectors
Dependencies
- [2]
MABGENI7Refactor `fluent_embed_derive` tests - [3]
AAERM7PBAdd selector tests for the `fr` locale - [4]
XEEXWJLGAdd simple end-to-end test for selectors - [5]
3NMKD6I5Refactor `Localize` trait to use `std::io::Write` - [6]
6ABVDTXZImprove `fluent_embed_derive` test suite - [7]
S2444K42Refactor selectors test to not rely on funciton calls - [8]
6XEMHUGSUse full `Locale` instead of `LanguageIdentifier` subset - [9]
F5LG7WENEmit compilation errors from Fluent source code - [10]
QFPQZR4KRefactor `fluent_embed` - [11]
VNSHGQYNSupport using glob paths in `localize` macro - [12]
C6W7N6N5Implement `Localize` for `FixedDecimal` and primitive number types - [13]
7FYXVNABIgnore comments in Fluent source code - [*]
5TEX4MNUSplit `fluent_embed` into `group` and `parse` modules
Change contents
- replacement in l10n_embed_derive/tests/selectors.rs at line 11
pub enum Message {pub enum MessageEnum { - edit in l10n_embed_derive/tests/selectors.rs at line 13
}#[localize("tests/locale/**/selectors.ftl")]pub struct Emails {unread_emails: u64, - replacement in l10n_embed_derive/tests/selectors.rs at line 39
let data = Message::Emails { unread_emails };compare_message(data, expected_message, locale);let enum_data = MessageEnum::Emails { unread_emails };compare_message(enum_data, expected_message.clone(), locale.clone());let struct_data = Emails { unread_emails };compare_message(struct_data, expected_message, locale); - edit in l10n_embed_derive/src/fluent/ast.rs at line 46
- edit in l10n_embed_derive/src/fluent/ast.rs at line 58
// Only dereference if enum variantlet category_reference = match message_context.derive_context.reference_kind {ReferenceKind::EnumField => quote!(*#match_target),ReferenceKind::StructField => quote!(#match_target),}; - replacement in l10n_embed_derive/src/fluent/ast.rs at line 65
match plural_rules.category_for(*#match_target) {match plural_rules.category_for(#category_reference) {