Skip to content

temporal_capi ^0.1.2 conflicts with icu_calendar 2.2 (forced by urlpattern/deno_web) #3

Description

@RainyPixel

Problem

openworkers-v8 v146.8.0 depends on temporal_capi = "^0.1.2". This version pins temporal_rs = "0.1.2", which uses two types removed in icu_calendar 2.2:

  • icu_calendar::cal::AnyCalendarDifferenceError
  • icu_calendar::types::DateDurationUnit

This causes a hard build failure when openworkers-v8 is used alongside any crate that forces icu_calendar >= 2.2:

deno_web → urlpattern 0.4.2 → icu_properties 2.2 → icu_calendar 2.2.1

Since deno_web is a natural companion to openworkers-v8 (it's the primary consumer of the V8 runtime), these two crates are effectively always used together, making openworkers-v8 v146.8.0 unbuildable in a standard Deno stack.

Error

error[E0412]: cannot find type `AnyCalendarDifferenceError` in module `icu_calendar::cal`
error[E0412]: cannot find type `DateDurationUnit` in module `icu_calendar::types`

Root cause

temporal_capi 0.1.2temporal_rs 0.1.2icu_calendar <2.2
temporal_capi 0.2.3temporal_rs 0.2.3icu_calendar 2.2.1

cargo update -p icu_calendar --precise 2.1.1 cannot work because urlpattern forces icu_collections 2.2, which in turn requires icu_calendar 2.2.

Fix

Bump the dependency in Cargo.toml from:

temporal_capi = "0.1.2"

to:

temporal_capi = "0.2"

temporal_capi 0.2.x uses temporal_rs 0.2.x which is fully compatible with icu_calendar 2.2.

Workaround

We are currently patching this in our workspace via [patch.crates-io] — shipping temporal_capi 0.2.3 code under version 0.1.2 to satisfy the ^0.1.2 constraint while remaining compatible with icu_calendar 2.2. This is obviously not a long-term solution.

Environment

  • openworkers-v8 tag: v146.8.0
  • deno_web: 0.266.0
  • urlpattern: 0.4.2
  • icu_calendar (forced): 2.2.1
  • temporal_capi (pinned): 0.1.2

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions