diff --git a/CHANGELOG.md b/CHANGELOG.md index c7f3b17..192c783 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,8 @@ permissible `rtype` values. Users should use `default_for_schema` instead - Changed the default `match_algorithm` for `InstrumentDefMsg` and `InstrumentDefMsgV1` from `Fifo` to `Undefined` +- Made `Dataset`, `Venue`, and `Publisher` non-exhaustive to allow future additions + without breaking changes ### Bug fixes - Fixed an issue where the Python `MappingIntervalDict` was not exported diff --git a/rust/dbn/src/publishers.rs b/rust/dbn/src/publishers.rs index 5f624ba..f360f9c 100644 --- a/rust/dbn/src/publishers.rs +++ b/rust/dbn/src/publishers.rs @@ -8,6 +8,7 @@ use crate::{Error, Result}; /// A trading execution venue. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, IntoPrimitive, TryFromPrimitive)] +#[non_exhaustive] #[repr(u16)] pub enum Venue { /// CME Globex @@ -215,6 +216,7 @@ impl std::str::FromStr for Venue { /// A source of data. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, IntoPrimitive, TryFromPrimitive)] +#[non_exhaustive] #[repr(u16)] pub enum Dataset { /// CME MDP 3.0 Market Data @@ -374,6 +376,7 @@ impl std::str::FromStr for Dataset { /// A specific Venue from a specific data source. #[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, IntoPrimitive, TryFromPrimitive)] +#[non_exhaustive] #[repr(u16)] pub enum Publisher { /// CME Globex MDP 3.0