From 92fdab6767bea27b7df666be723af66130507ee1 Mon Sep 17 00:00:00 2001 From: dimadudin Date: Tue, 13 Jan 2026 18:38:08 +0300 Subject: [PATCH] fix: disallow duplicate service IDs - the sorting was unstable, because we allowed services to have duplicate IDs. now there's an error in that case --- src/main.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/main.rs b/src/main.rs index f18e08a..6dab0e3 100644 --- a/src/main.rs +++ b/src/main.rs @@ -129,7 +129,16 @@ fn build_object_lists(dir: PathBuf) -> eyre::Result { for config in rust_configs { match config { - Definition::Service(service) => services.push(service), + Definition::Service(service) => { + if services.iter().any(|prev| prev.id == service.id) { + return Err(eyre!( + "Found duplicate ID: {}, for Service: {}", + &service.id, + &service.name + )); + } + services.push(service) + } Definition::EndpointSchema(service_name, service_id, endpoint_schema) => { service_schema_map .entry((service_name, service_id))