From d9437c6da735290f998d238d716d02afffb4b85f Mon Sep 17 00:00:00 2001 From: LFC <990479+MichaelScofield@users.noreply.github.com> Date: Tue, 22 Apr 2025 14:04:06 +0800 Subject: [PATCH] chore: assert plugin uniqueness (#5947) --- src/common/base/src/plugins.rs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/common/base/src/plugins.rs b/src/common/base/src/plugins.rs index c392422b64..5d27ad1ac1 100644 --- a/src/common/base/src/plugins.rs +++ b/src/common/base/src/plugins.rs @@ -31,7 +31,8 @@ impl Plugins { } pub fn insert(&self, value: T) { - let _ = self.write().insert(value); + let last = self.write().insert(value); + assert!(last.is_none(), "each type of plugins must be one and only"); } pub fn get(&self) -> Option { @@ -137,4 +138,12 @@ mod tests { assert_eq!(plugins.len(), 2); assert!(!plugins.is_empty()); } + + #[test] + #[should_panic(expected = "each type of plugins must be one and only")] + fn test_plugin_uniqueness() { + let plugins = Plugins::new(); + plugins.insert(1i32); + plugins.insert(2i32); + } }