diff --git a/alib2std/src/extensions/bitset.hpp b/alib2std/src/extensions/bitset.hpp
index de7cbb7a202cf50b6f9229c46eca311830753073..3aba954f8b829abd0b8f835d22f9ac5369fdc7c2 100644
--- a/alib2std/src/extensions/bitset.hpp
+++ b/alib2std/src/extensions/bitset.hpp
@@ -20,10 +20,9 @@ namespace ext {
 template < std::size_t N >
 class bitset : public std::bitset < N > {
 public:
-#ifdef __clang__
 	using std::bitset < N >::bitset;
 	using std::bitset < N >::operator =;
-#else
+#ifndef __clang__
 	bitset ( ) noexcept : std::bitset < N > ( ) {
 	}
 
@@ -31,13 +30,9 @@ public:
 
 	bitset ( bitset && other ) = default;
 
-	using std::bitset < N >::bitset;
-
 	bitset & operator = ( bitset && other ) = default;
 
 	bitset & operator = ( const bitset & other ) = default;
-
-	using std::bitset < N >::operator =;
 #endif
 };
 
diff --git a/alib2std/src/extensions/deque.hpp b/alib2std/src/extensions/deque.hpp
index a705f21e41d9b5281c6432a7fef52852e5a8b4a5..db616ac78d33053093d4874ee61e6b20a996b85a 100644
--- a/alib2std/src/extensions/deque.hpp
+++ b/alib2std/src/extensions/deque.hpp
@@ -21,10 +21,9 @@ namespace ext {
 template < class T, class Alloc = std::allocator < T > >
 class deque : public std::deque < T, Alloc >, AllocFix < Alloc > {
 public:
-#ifdef __clang__
 	using std::deque < T, Alloc >::deque;
 	using std::deque < T, Alloc >::operator =;
-#else
+#ifndef __clang__
 	deque ( ) noexcept : std::deque < T, Alloc > ( ) {
 	}
 
@@ -32,13 +31,9 @@ public:
 
 	deque ( deque && other ) = default;
 
-	using std::deque < T, Alloc >::deque;
-
 	deque & operator = ( deque && other ) = default;
 
 	deque & operator = ( const deque & other ) = default;
-
-	using std::deque < T, Alloc >::operator =;
 #endif
 };
 
diff --git a/alib2std/src/extensions/list.hpp b/alib2std/src/extensions/list.hpp
index c97d514cec19584b0541db14e297a501d6a718ef..9b26e78dc20a03db699c3c44526f161717f01425 100644
--- a/alib2std/src/extensions/list.hpp
+++ b/alib2std/src/extensions/list.hpp
@@ -21,10 +21,9 @@ namespace ext {
 template < class T, class Alloc = std::allocator < T > >
 class list : public std::list < T, Alloc >, AllocFix < Alloc > {
 public:
-#ifdef __clang__
 	using std::list < T, Alloc >::list;
 	using std::list < T, Alloc >::operator =;
-#else
+#ifndef __clang__
 	list ( ) noexcept : std::list < T, Alloc > ( ) {
 	}
 
@@ -32,13 +31,9 @@ public:
 
 	list ( list && other ) = default;
 
-	using std::list < T, Alloc >::list;
-
 	list & operator = ( list && other ) = default;
 
 	list & operator = ( const list & other ) = default;
-
-	using std::list < T, Alloc >::operator =;
 #endif
 };
 
diff --git a/alib2std/src/extensions/map.hpp b/alib2std/src/extensions/map.hpp
index e0b905e4a7c96bab5f20f67c6c1438d5284536b0..10111ccfc8c5c5a42ef9adc8b6bad3fca6fb1027 100644
--- a/alib2std/src/extensions/map.hpp
+++ b/alib2std/src/extensions/map.hpp
@@ -23,10 +23,9 @@ namespace ext {
 template < typename T, typename R, typename Cmp = std::less < >, typename Alloc = std::allocator < std::pair < const T, R > > >
 class map : public std::map < T, R, Cmp, Alloc >, AllocFix < Alloc > {
 public:
-#ifdef __clang__
 	using std::map< T, R, Cmp, Alloc >::map;
 	using std::map< T, R, Cmp, Alloc >::operator =;
-#else
+#ifndef __clang__
 	map ( ) noexcept : std::map < T, R, Cmp, Alloc > ( ) {
 	}
 
@@ -34,13 +33,9 @@ public:
 
 	map ( map && other ) = default;
 
-	using std::map < T, R, Cmp, Alloc >::map;
-
 	map & operator = ( map && other ) = default;
 
 	map & operator = ( const map & other ) = default;
-
-	using std::map < T, R, Cmp, Alloc >::operator =;
 #endif
 	using iterator = typename std::map<T, R, Cmp, Alloc>::iterator;
 	using key_type = typename std::map<T, R, Cmp, Alloc>::key_type;
diff --git a/alib2std/src/extensions/pair.hpp b/alib2std/src/extensions/pair.hpp
index fd4b992e52dcaf0e7871578012e718303a9f4bd7..9d0144e471980fec595f61eed2fdb3d1eb9d8fbc 100644
--- a/alib2std/src/extensions/pair.hpp
+++ b/alib2std/src/extensions/pair.hpp
@@ -20,21 +20,16 @@ namespace ext {
 template < class T, class R >
 class pair : public std::pair < T, R > {
 public:
-#ifdef __clang__
 	using std::pair < T, R >::pair;
 	using std::pair < T, R >::operator =;
-#else
+#ifndef __clang__
 	pair ( const pair & other ) = default;
 
 	pair ( pair && other ) = default;
 
-	using std::pair < T, R >::pair;
-
 	pair & operator = ( pair && other ) = default;
 
 	pair & operator = ( const pair & other ) = default;
-
-	using std::pair < T, R >::operator =;
 #endif
 };
 
diff --git a/alib2std/src/extensions/set.hpp b/alib2std/src/extensions/set.hpp
index 7ed0e02ebb8aca175533741a89fbdc382449b4d6..05db6959c5f1758ea631b435df7a3248ecf1ce5d 100644
--- a/alib2std/src/extensions/set.hpp
+++ b/alib2std/src/extensions/set.hpp
@@ -21,10 +21,9 @@ namespace ext {
 template < typename T, typename Cmp = std::less < >, typename Alloc = std::allocator < T > >
 class set : public std::set < T, Cmp, Alloc >, AllocFix < Alloc > {
 public:
-#ifdef __clang__
 	using std::set < T, Cmp, Alloc >::set;
 	using std::set < T, Cmp, Alloc >::operator =;
-#else
+#ifndef __clang__
 	set ( ) noexcept : std::set < T, Cmp, Alloc > ( ) {
 	}
 
@@ -32,13 +31,9 @@ public:
 
 	set ( set && other ) = default;
 
-	using std::set < T, Cmp, Alloc >::set;
-
 	set & operator = ( set && other ) = default;
 
 	set & operator = ( const set & other ) = default;
-
-	using std::set < T, Cmp, Alloc >::operator =;
 #endif
 };
 
diff --git a/alib2std/src/extensions/string.hpp b/alib2std/src/extensions/string.hpp
index bb82632786741b12c0e48c194fe0dcc0bf9c5cdd..2c35a54aa95289d07131713ef8a18b78eddb5692 100644
--- a/alib2std/src/extensions/string.hpp
+++ b/alib2std/src/extensions/string.hpp
@@ -19,10 +19,9 @@ namespace ext {
 
 class string : public std::string {
 public:
-#ifdef __clang__
 	using std::string::string;
 	using std::string::operator =;
-#else
+#ifndef __clang__
 	string ( ) noexcept : std::string ( ) {
 	}
 
@@ -30,13 +29,9 @@ public:
 
 	string ( string && other ) = default;
 
-	using std::string::string;
-
 	string & operator = ( string && other ) = default;
 
 	string & operator = ( const string & other ) = default;
-
-	using std::string::operator =;
 #endif
 	string ( const std::string & other ) noexcept : std::string ( other ) {
 	}
diff --git a/alib2std/src/extensions/tuple.hpp b/alib2std/src/extensions/tuple.hpp
index dd3d748666dafde9ac9f262ba8ff9c15efddfd9b..8c5b6c90ea72879263522997a929fbd7ff37a72e 100644
--- a/alib2std/src/extensions/tuple.hpp
+++ b/alib2std/src/extensions/tuple.hpp
@@ -20,10 +20,9 @@ namespace ext {
 template < typename ... Ts >
 class tuple : public std::tuple < Ts ... > {
 public:
-#ifdef __clang__
 	using std::tuple< Ts ... >::tuple;
 	using std::tuple< Ts ... >::operator =;
-#else
+#ifndef __clang__
 	tuple ( ) noexcept : std::tuple < Ts ... > ( ) {
 	}
 
@@ -31,13 +30,9 @@ public:
 
 	tuple ( tuple && other ) = default;
 
-	using std::tuple < Ts ... >::tuple;
-
 	tuple & operator = ( tuple && other ) = default;
 
 	tuple & operator = ( const tuple & other ) = default;
-
-	using std::tuple < Ts ... >::operator =;
 #endif
 };
 
diff --git a/alib2std/src/extensions/unordered_map.hpp b/alib2std/src/extensions/unordered_map.hpp
index 6d55d72fef3f0a08056001260923ba129be3f0ee..56de1dfb5a750042feb4d689cffe81a2a04f11c6 100644
--- a/alib2std/src/extensions/unordered_map.hpp
+++ b/alib2std/src/extensions/unordered_map.hpp
@@ -21,10 +21,9 @@ namespace ext {
 template < class T, class R, class Hash = std::hash < T >, class KeyEqual = std::equal_to < T >, class Alloc = std::allocator < std::pair < const T, R > > >
 class unordered_map : public std::unordered_map < T, R, Hash, KeyEqual, Alloc >, AllocFix < Alloc > {
 public:
-#ifdef __clang__
 	using std::unordered_map < T, R, Hash, KeyEqual, Alloc >::unordered_map;
 	using std::unordered_map < T, R, Hash, KeyEqual, Alloc >::operator =;
-#else
+#ifndef __clang__
 	unordered_map ( ) noexcept : std::unordered_map < T, R, Hash, KeyEqual, Alloc > ( ) {
 	}
 
@@ -32,13 +31,9 @@ public:
 
 	unordered_map ( unordered_map && other ) = default;
 
-	using std::unordered_map < T, R, Hash, KeyEqual, Alloc >::unordered_map;
-
 	unordered_map & operator = ( unordered_map && other ) = default;
 
 	unordered_map & operator = ( const unordered_map & other ) = default;
-
-	using std::unordered_map < T, R, Hash, KeyEqual, Alloc >::operator =;
 #endif
 };
 
diff --git a/alib2std/src/extensions/vector.hpp b/alib2std/src/extensions/vector.hpp
index 4b9ff7207cffb2cd86c12740a238a979a581a0a9..63b24e3aff0ca5a4cb48dae3ec9940def0a5a1ea 100644
--- a/alib2std/src/extensions/vector.hpp
+++ b/alib2std/src/extensions/vector.hpp
@@ -23,10 +23,9 @@ namespace ext {
 template < class T, class Alloc = std::allocator < T > >
 class vector : public std::vector < T, Alloc >, AllocFix < Alloc > {
 public:
-#ifdef __clang__
 	using std::vector< T, Alloc >::vector;
 	using std::vector< T, Alloc >::operator =;
-#else
+#ifndef __clang__
 	vector ( ) noexcept : std::vector < T, Alloc > ( ) {
 	}
 
@@ -34,13 +33,9 @@ public:
 
 	vector ( vector && other ) = default;
 
-	using std::vector < T, Alloc >::vector;
-
 	vector & operator = ( vector && other ) = default;
 
 	vector & operator = ( const vector & other ) = default;
-
-	using std::vector < T, Alloc >::operator =;
 #endif
 };