Skip to content

core: two types missing from the root re-export #921

Description

@stromanni

crates/flexiq-core/src/lib.rs carries a curated root re-export — the comment above it calls the crate root "the blessed import path" and says new code should prefer it. Two types that belong in it are missing, and both were noticed by having to work around them.

storage::records::DebounceOptions. Every other record beside it is re-exported: AttemptFence, CircuitBreakerState, JobError, JobStep, LockInfo, NewJobStep, NewPeriodicTask, NewSubscription, PeriodicTask, RateLimitState, ReplayEntry, SleepOutcome, StepCommit, StepKind, Subscription, TaskLogEntry, TaskMetric, WorkerInfo. DebounceOptions is a parameter of Storage::enqueue_debounced, so anyone calling that method has to name it — through flexiq_core::storage::records:: rather than the blessed path.

worker::TaskHandler. The worker re-export block lists NativeDispatcher, TaskError, TaskRegistry, TaskResult, WorkerDispatcher, WorkerHandle and a dozen more, but not TaskHandler — the enum TaskRegistry stores and NativeDispatcher matches on. A consumer building anything around the registry reaches it at flexiq::worker::TaskHandler.

Both are one line each. Worth doing together so the list stops being almost-complete.

Found while building the Rust shell (#916), which names both through their modules.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions