Sha256: ef5452c7e828a0179f5ace7e19f95b9762aa887caf10244adbfe36ded712c090
Contents?: true
Size: 865 Bytes
Versions: 30
Compression:
Stored size: 865 Bytes
Contents
use ref_cast::RefCast; use std::fmt::Display; use std::path::{Path, PathBuf}; use thiserror::Error; #[derive(Error, Debug)] #[error("failed to read '{file}'")] struct StructPathBuf { file: PathBuf, } #[derive(Error, Debug, RefCast)] #[repr(C)] #[error("failed to read '{file}'")] struct StructPath { file: Path, } #[derive(Error, Debug)] enum EnumPathBuf { #[error("failed to read '{0}'")] Read(PathBuf), } fn assert<T: Display>(expected: &str, value: T) { assert_eq!(expected, value.to_string()); } #[test] fn test_display() { let path = Path::new("/thiserror"); let file = path.to_owned(); assert("failed to read '/thiserror'", StructPathBuf { file }); let file = path.to_owned(); assert("failed to read '/thiserror'", EnumPathBuf::Read(file)); assert("failed to read '/thiserror'", StructPath::ref_cast(path)); }
Version data entries
30 entries across 30 versions & 1 rubygems