From 2fdc881a2ef4653a9984ab91e7f00c78e94d6f17 Mon Sep 17 00:00:00 2001 From: Shunsuke Shibayama Date: Tue, 13 Sep 2022 02:36:18 +0900 Subject: [PATCH] Change `Set::insert` type --- compiler/erg_common/lib.rs | 5 +++++ compiler/erg_common/set.rs | 4 ++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/compiler/erg_common/lib.rs b/compiler/erg_common/lib.rs index 08db9016..ed50f82f 100644 --- a/compiler/erg_common/lib.rs +++ b/compiler/erg_common/lib.rs @@ -118,3 +118,8 @@ where } Ok(v) } + +pub fn unique_in_place(v: &mut Vec) { + let mut uniques = Set::new(); + v.retain(|e| uniques.insert(e.clone())); +} diff --git a/compiler/erg_common/set.rs b/compiler/erg_common/set.rs index 64272882..08a132f0 100644 --- a/compiler/erg_common/set.rs +++ b/compiler/erg_common/set.rs @@ -141,8 +141,8 @@ impl Set { } #[inline] - pub fn insert(&mut self, value: T) { - self.elems.insert(value); + pub fn insert(&mut self, value: T) -> bool { + self.elems.insert(value) } #[inline]