drop vestigial fabro-macros dep and DurationLayer aliases

After Unit 3.1 of the config boundary refactor, fabro-types no longer has
any #[derive(Combine)] sites — the fabro-macros dep is unused. Likewise
`Duration as DurationLayer` was an artifact from when layer and vocabulary
types lived side-by-side; the resolved Duration type has no Layer form now,
so the alias was misleading.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Bryan Helmkamp 2026-04-23 20:06:19 -04:00
parent f16becd2f7
commit d380c8f496
No known key found for this signature in database
4 changed files with 5 additions and 7 deletions

1
Cargo.lock generated
View file

@ -2210,7 +2210,6 @@ dependencies = [
"chrono",
"clap",
"dirs",
"fabro-macros",
"fabro-model",
"fabro-util",
"hex",

View file

@ -3,7 +3,7 @@
use fabro_types::settings::server::{
GithubIntegrationStrategy, ObjectStoreProvider, ServerAuthMethod, WebhookStrategy,
};
use fabro_types::settings::{Duration as DurationLayer, InterpString};
use fabro_types::settings::{Duration, InterpString};
use serde::{Deserialize, Serialize};
use super::maps::StickyMap;
@ -139,7 +139,7 @@ pub struct ServerSlateDbLayer {
#[serde(default, skip_serializing_if = "Option::is_none")]
pub prefix: Option<InterpString>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub flush_interval: Option<DurationLayer>,
pub flush_interval: Option<Duration>,
#[serde(default, skip_serializing_if = "Option::is_none")]
pub local: Option<ObjectStoreLocalLayer>,
#[serde(default, skip_serializing_if = "Option::is_none")]

View file

@ -21,7 +21,6 @@ workspace = true
chrono = { workspace = true, features = ["serde"] }
clap = { workspace = true, optional = true }
dirs.workspace = true
fabro-macros = { path = "../fabro-macros" }
fabro-model = { path = "../fabro-model" }
fabro-util = { path = "../fabro-util" }
hex.workspace = true

View file

@ -13,7 +13,7 @@ use ipnet::IpNet;
use serde::de::Error as _;
use serde::{Deserialize, Deserializer, Serialize, Serializer};
use super::duration::Duration as DurationLayer;
use super::duration::Duration;
use super::interp::InterpString;
/// A structurally resolved `[server]` view for consumers.
@ -295,14 +295,14 @@ fn serialize_std_duration<S>(value: &StdDuration, serializer: S) -> Result<S::Ok
where
S: Serializer,
{
serializer.serialize_str(&DurationLayer::from_std(*value).to_string())
serializer.serialize_str(&Duration::from_std(*value).to_string())
}
fn deserialize_std_duration<'de, D>(deserializer: D) -> Result<StdDuration, D::Error>
where
D: Deserializer<'de>,
{
Ok(DurationLayer::deserialize(deserializer)?.as_std())
Ok(Duration::deserialize(deserializer)?.as_std())
}
/// Closed enum of object-store providers. Unknown providers hard-fail