downcast-rs
Trait object downcasting support using only safe Rust. It supports type parameters, associated types, and type constraints.
2.0.2
151M downloads/mo
#612 most downloaded on crates.io
marcianx/downcast-rs
What this package is like to depend on
Last release 11 months ago
01 Sep 2025
Ships unpredictably
gaps range from 9 days to 3.8 years
Nearly every release is documented
notes for 14 of 15 stable releases
Nothing withdrawn
no release was ever pulled
11 years old
15 releases · first in 2015
1 release in the last 12 months
see the full history below
Release timeline
15 releases · Dec 2015 to Sep 2025
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
Releases
latest 15-
2.0.201 Sep 2025Release notes
Open source →Changed
- Updated
README.mdto omit lines hidden in crate documentation. - (Minor)
Cargo.toml: Corrected license format and added categories.
- Updated
-
2.0.107 Jan 2025Release notes
Open source →Change
- Updated how code conditioned on the
syncflag is written in the crate documentation to work around a crates.io doc rendering bug.
- Updated how code conditioned on the
-
2.0.007 Jan 2025Release notes
Open source →Added
- Gated the sync/
Arcdowncasting functionality behind a newsyncfeature that is enabled by default. - Added a new
DowncastSendtrait to support downcasting toBox<Any + Send>and madeDowncastSyncextend this trait. - Added downcasting support to
Box<Any + Send + Sync>toDowncastSync.
Change
- Updated minimum supported rust version 1.56 to enforce the
rustdoc::bare_urlslint (1.53) and switch to edition 2021 (1.56).
- Gated the sync/
-
1.2.107 Apr 2024Release notes
Open source →Change
- Consolidated bounds on the trait to avoid triggering Clippy's
multiple_bound_locationslint.
- Consolidated bounds on the trait to avoid triggering Clippy's
-
1.2.030 Jun 2020Release notes
Open source →Added
no_stdsupport.- CI with GitHub actions.
Changed
- Updated minimum supported rust version 1.36 for stable access to
alloc.
-
1.1.128 Oct 2019Release notes
Open source →Changed
- Used
dyn Traitsyntax everywhere since it is supported by downcast-rs's min-supported rust version (1.33).
- Used
-
1.1.008 Oct 2019Release notes
Open source →Added
- Support for downcasting
Rc<Trait>andArc<Trait>.
Changed
- Minimum supported Rust version upped to 1.33 to support
RcandArcin the receiver position.
- Support for downcasting
-
1.0.409 Apr 2019Release notes
Open source →Changed
- Added
local_inner_macrostoimpl_downcastto allow invoking via namespace.
- Added
-
1.0.322 May 2018Release notes
Open source →Fixed
- Use global path for Result, Option, Box in macro expansion to avoid name conflicts with locally-defined symbols.
-
1.0.212 May 2018 -
1.0.109 Mar 2018 -
1.0.005 Feb 2017 -
0.1.222 Nov 2016 -
0.1.109 Apr 2016Release notes
Open source →Added
- Downcast functionality to downcast borrowed mutable and immutable trait objects to concrete types. Supports concrete type parameters and type variables with optional constraints.
-
0.1.016 Dec 2015Nothing published for this version