// This file is part of ICU4X. For terms of use, please see the file // called LICENSE at the top level of the ICU4X source tree // (online at: https://github.com/unicode-org/icu4x/blob/main/LICENSE ). use displaydoc::Display; /// Error types for the `zerotrie` crate. #[derive(Debug, Copy, Clone, PartialEq, Eq, Display)] #[non_exhaustive] pub enum ZeroTrieBuildError { /// Non-ASCII data was added to an ASCII-only trie. #[displaydoc("Non-ASCII cannot be added to an ASCII-only trie")] NonAsciiError, /// The trie reached its maximum supported capacity. #[displaydoc("Reached maximum capacity of trie")] CapacityExceeded, /// The builder could not solve the perfect hash function. #[displaydoc("Failed to solve the perfect hash function. This is rare! Please report your case to the ICU4X team.")] CouldNotSolvePerfectHash, /// Mixed-case data was added to a case-insensitive trie. #[displaydoc("Mixed-case data added to case-insensitive trie")] MixedCase, } impl core::error::Error for ZeroTrieBuildError {}