diff --git a/.gitignore b/.gitignore
index 4e1c2ee140704d94ff3dd073dfd66c16f33ba10c..75529fc5f4aa76a3d05ec393c2241d80d8c6b008 100644
--- a/.gitignore
+++ b/.gitignore
@@ -55,3 +55,7 @@ doc/*
 **/test-obj-debug
 
 **/CppUnitTestResults.xml
+
+debug.sh
+release.sh
+
diff --git a/alib2std/test-src/extensions/VariantTest.cpp b/alib2std/test-src/extensions/VariantTest.cpp
index d6cad62fddef63ec4fe487b242e044b0849e256f..9fb4212f4250f29aabbf0b08aeba3875f1f0c929 100644
--- a/alib2std/test-src/extensions/VariantTest.cpp
+++ b/alib2std/test-src/extensions/VariantTest.cpp
@@ -1,6 +1,7 @@
 #include "VariantTest.h"
 #include <variant>
 #include <set>
+#include <algorithm>
 
 CPPUNIT_TEST_SUITE_NAMED_REGISTRATION( VariantTest, "bits" );
 CPPUNIT_TEST_SUITE_REGISTRATION( VariantTest );
@@ -97,3 +98,13 @@ void VariantTest::testVariantSet() {
 	CPPUNIT_ASSERT( testMap.find(std::variant<std::string, int> {"aa"}) != testMap.end() );
 	CPPUNIT_ASSERT( testMap.find(std::variant<std::string, int> {10}) == testMap.end() );
 }
+
+void VariantTest::testVariantSet2() {
+	std::set<std::variant<std::string, int>> s, t, u;
+	s.insert(std::string { "aa" } );
+	s.insert(123);
+
+	std::set_union(s.begin(), s.end(), t.begin(), t.end(), std::inserter(u, u.begin()));
+
+	CPPUNIT_ASSERT( s.size() == u.size());
+}
diff --git a/alib2std/test-src/extensions/VariantTest.h b/alib2std/test-src/extensions/VariantTest.h
index c68db9d3436c08899d3f70e5a661fa2cfa3643d5..4df243e2b8918e1dfa0260d95ceceafc3f2bb25b 100644
--- a/alib2std/test-src/extensions/VariantTest.h
+++ b/alib2std/test-src/extensions/VariantTest.h
@@ -9,6 +9,7 @@ class VariantTest : public CppUnit::TestFixture
   CPPUNIT_TEST_SUITE( VariantTest );
   CPPUNIT_TEST( testVariant );
   CPPUNIT_TEST( testVariantSet );
+  CPPUNIT_TEST( testVariantSet2 );
   CPPUNIT_TEST_SUITE_END();
 
 public:
@@ -66,6 +67,7 @@ public:
 
   void testVariant();
   void testVariantSet();
+  void testVariantSet2();
 };
 
 namespace std {