Move from `fluent-syntax` PR to main branch

finchie
Aug 11, 2025, 4:34 AM
MVTRHSJLQ32Q62257NC3ADECW42A32ZTBDPGUZMBUQXSAM64CWHQC

Dependencies

  • [2] EAPOUW73 Fix compilation error with `fluent-syntax` span PR
  • [3] X6AMFX3N Temporarily remove automatic language detection
  • [4] RUCC2HKZ Rename from `fluent_embed` to `l10n_embed`
  • [5] F5LG7WEN Emit compilation errors from Fluent source code
  • [6] 2SITVDYW Handle common errors in Fluent code
  • [7] JUV7C6ET Create initial prototype of `fluent_embed_interaction`
  • [8] C6W7N6N5 Implement `Localize` for `FixedDecimal` and primitive number types
  • [9] NO3PDO7P Refactor `fluent_embed` to support structs
  • [10] QJC4IQIT Refactor `Localize` functions to infallibly return `String`
  • [11] 5TEX4MNU Split `fluent_embed` into `group` and `parse` modules
  • [12] 7M4UI3TW Update dependencies to latest versions
  • [13] ROSR4HD5 Parse captured glob as locale
  • [14] NEBSVXIA Apply Clippy fixes
  • [15] QBPLOFFI Update `Cargo.lock`
  • [16] S26YOXQI Update `Cargo.toml` in workspace and packages
  • [17] 3NMKD6I5 Refactor `Localize` trait to use `std::io::Write`
  • [18] VQBJBFEX Improve error handling for missing Fluent messages
  • [19] 3WEPY3OX Add `locale` parameter to derived `localize()` function
  • [20] 2XQ6ZB4W Store multiple locales in a single `Group`
  • [21] 7X4MEZJU Use Fluent AST when reporting error spans
  • [22] QFPQZR4K Refactor `fluent_embed`
  • [23] PGBXJWIH Move `l10n_embed` re-exports into `macro_prelude` module
  • [*] VZYZRAO4 Move `output-macros` crate into workspace
  • [*] UKFEFT6L Create basic `Output` proc-macro

Change contents

  • replacement in l10n_embed_derive/src/fluent/mod.rs at line 30
    [4.579][4.579:675]()
    #[label("This references `{rust_name}` which doesn't exist")]
    span: SourceSpan,
    [4.579]
    [4.675]
    // TODO: blocked on https://github.com/projectfluent/fluent-rs/pull/373
    // #[label("This references `{rust_name}` which doesn't exist")]
    // span: SourceSpan,
  • replacement in l10n_embed_derive/src/fluent/mod.rs at line 44
    [4.1261][4.1261:1357]()
    #[label("This key isn't in the `{canonical_locale}` locale")]
    span: SourceSpan,
    [4.1261]
    [4.1357]
    // TODO: blocked on https://github.com/projectfluent/fluent-rs/pull/373
    // #[label("This key isn't in the `{canonical_locale}` locale")]
    // span: SourceSpan,
  • edit in l10n_embed_derive/src/fluent/group.rs at line 8
    [4.760][4.3972:3996](),[4.417][4.3972:3996]()
    use miette::SourceSpan;
  • replacement in l10n_embed_derive/src/fluent/group.rs at line 81
    [4.559][4.559:648]()
    if let Some((unexpected_key, unexpected_message)) = unexpected_keys.next() {
    [4.559]
    [4.648]
    if let Some((unexpected_key, _unexpected_message)) = unexpected_keys.next() {
  • edit in l10n_embed_derive/src/fluent/group.rs at line 89
    [4.751][4.751:833]()
    span: SourceSpan::from(unexpected_message.id.span.0.clone()),
  • edit in l10n_embed_derive/src/fluent/ast.rs at line 9
    [4.2386][4.5676:5700]()
    use miette::SourceSpan;
  • replacement in l10n_embed_derive/src/fluent/ast.rs at line 18
    [4.500][4.834:898]()
    PatternElement::TextElement { value, span: _ } => {
    [4.500]
    [4.1447]
    PatternElement::TextElement { value } => {
  • replacement in l10n_embed_derive/src/fluent/ast.rs at line 21
    [4.1233][4.899:1011]()
    PatternElement::Placeable {
    expression,
    span: _,
    } => {
    [4.1233]
    [4.1234]
    PatternElement::Placeable { expression } => {
  • replacement in l10n_embed_derive/src/fluent/ast.rs at line 23
    [4.1292][4.1012:1088]()
    Expression::Select { selector, variants, span: _ } => {
    [4.1292]
    [4.1293]
    Expression::Select { selector, variants } => {
  • replacement in l10n_embed_derive/src/fluent/ast.rs at line 30
    [4.1610][2.0:78]()
    VariantKey::Identifier { name, span: _ } => {
    [4.1610]
    [4.1611]
    VariantKey::Identifier { name } => {
  • replacement in l10n_embed_derive/src/fluent/ast.rs at line 66
    [4.3857][4.1089:1152]()
    Expression::Inline(expression, _span) => {
    [4.3857]
    [4.2883]
    Expression::Inline(expression) => {
  • replacement in l10n_embed_derive/src/fluent/ast.rs at line 87
    [4.4333][4.1153:1217]()
    InlineExpression::StringLiteral { value, span: _ } => {
    [4.4333]
    [4.3150]
    InlineExpression::StringLiteral { value } => {
  • replacement in l10n_embed_derive/src/fluent/ast.rs at line 91
    [4.1946][4.1218:1282]()
    InlineExpression::NumberLiteral { value, span: _ } => {
    [4.1946]
    [4.1704]
    InlineExpression::NumberLiteral { value } => {
  • replacement in l10n_embed_derive/src/fluent/ast.rs at line 105
    [4.2340][4.1283:1345]()
    InlineExpression::VariableReference { id, span } => {
    [4.2340]
    [4.4334]
    InlineExpression::VariableReference { id } => {
  • edit in l10n_embed_derive/src/fluent/ast.rs at line 123
    [4.6230][4.1660:1720]()
    span: SourceSpan::from(span.0.clone()),
  • replacement in Cargo.toml at line 34
    [3.56][4.2873:3136](),[4.2873][4.2873:3136](),[4.3136][4.1584:1601](),[4.1584][4.1584:1601]()
    # TODO: switch back to main when fluent-syntax#373 is merged:
    # https://github.com/projectfluent/fluent-rs/pull/373
    fluent-syntax = { version = "0.11.1", git = "https://github.com/Ertanic/fluent-rs", rev = "adae4a04e491846b5bd22b605c669812473395a4", features = [
    "spans",
    ] }
    [3.56]
    [4.3137]
    fluent-syntax = "0.12"
  • replacement in Cargo.lock at line 278
    [4.8840][4.8840:8859](),[4.8859][4.4042:4180]()
    version = "0.11.1"
    source = "git+https://github.com/Ertanic/fluent-rs?rev=adae4a04e491846b5bd22b605c669812473395a4#adae4a04e491846b5bd22b605c669812473395a4"
    [4.8840]
    [4.9002]
    version = "0.12.0"
    source = "registry+https://github.com/rust-lang/crates.io-index"
    checksum = "54f0d287c53ffd184d04d8677f590f4ac5379785529e5e08b1c8083acdd5c198"