Skip to content

ratatui feature is unbuildable in 0.4.0 / 0.4.1 — pub mod ratatui; has no backing file #2

Description

@joshuaboys

Summary

Enabling the ratatui feature on animate 0.4.0 or 0.4.1 fails to compile the crate itself.
src/lib.rs declares pub mod ratatui;, but no src/ratatui.rs exists in the published package.

0.3.0 is unaffected.

Reproduction

[dependencies]
animate = { version = "0.4.1", features = ["ratatui"] }

error[E0583]: file not found for module `ratatui`
 --> animate-0.4.1/src/lib.rs:5:1
  |
5 | pub mod ratatui;
  | ^^^^^^^^^^^^^^^^

Evidence

The published 0.4.1 tarball contains exactly one source file:

animate-0.4.1/src/lib.rs

which reads:

pub use animate_core::*;
pub use animate_macros::animate;

#[cfg(feature = "ratatui")]
pub mod ratatui;

animate-0.4.0 has the same defect.

Cause

This looks like a leftover declaration rather than a missing file.

animate declares no normal ratatui dependency, only a dev-dependency, for the examples and benches:

[dev-dependencies.ratatui]
version = "0.30"

Dev-dependencies aren't available to the lib target, and the feature is a pure forward:

ratatui = ["animate-core/ratatui"]

So even if src/ratatui.rs were restored, it would have no ratatui in scope to reference. The integration already lives in animate-core
(src/types/ratatui/color.rs, src/types/ratatui/layout.rs), behind that crate's own ratatui = ["dep:ratatui"] feature, and reaches users through
pub use animate_core::*.

animate-core builds correctly with the feature enabled, only the animate shim fails.

Suggested fix

Remove lines 4–5 of animate/src/lib.rs:

#[cfg(feature = "ratatui")]
pub mod ratatui;

The ratatui = ["animate-core/ratatui"] feature can stay as-is; it already does the right thing.

Note

A CI job building with --features ratatui would catch this. The feature is the crate's headline integration, and both 0.4.x releases have shipped without it being compilable.

If you let me know which way you would like to go I am happy to file the PR... I'm assuming it was just a carry-over.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions