From 3a688dc4b7e0a023a7654cc47c390cc88606d57f Mon Sep 17 00:00:00 2001 From: Dylan Baker Date: Mon, 8 May 2017 10:37:34 -0700 Subject: [PATCH] Implement difference method for OrderedSet This implementation is obvious rather than efficient, but it's efficient enough for our uses I think. It uses `type(self)` to guarantee that it works even in subclasses or if the name of the class changes. --- mesonbuild/mesonlib.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/mesonbuild/mesonlib.py b/mesonbuild/mesonlib.py index d97ebbe99..7248be9c1 100644 --- a/mesonbuild/mesonlib.py +++ b/mesonbuild/mesonlib.py @@ -722,3 +722,6 @@ class OrderedSet(collections.MutableSet): def update(self, iterable): for item in iterable: self.__container[item] = None + + def difference(self, set_): + return type(self)(e for e in self if e not in set_)