diff --git a/.gitignore b/.gitignore
index bec7f598..9d4fcb37 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,7 +25,9 @@ benchmarks/files/numbers/*.json
 cmake-build-debug
 
 test/test-*
+test/test_data.hpp
 /.vs
+.vscode
 
 doc/mkdocs/venv/
 doc/mkdocs/docs/images
diff --git a/include/nlohmann/ordered_map.hpp b/include/nlohmann/ordered_map.hpp
index 2cf33c42..756b586a 100644
--- a/include/nlohmann/ordered_map.hpp
+++ b/include/nlohmann/ordered_map.hpp
@@ -17,11 +17,12 @@ struct ordered_map : Container
 {
     using key_type = Key;
     using mapped_type = T;
-    using value_type = typename Container::value_type;
-    using size_type = typename Container::size_type;
+    using typename Container::iterator;
+    using typename Container::value_type;
+    using typename Container::size_type;
     using Container::Container;
 
-    std::pair<typename Container::iterator, bool> emplace(key_type&& key, T&& t)
+    std::pair<iterator, bool> emplace(key_type&& key, T&& t)
     {
         for (auto it = this->begin(); it != this->end(); ++it)
         {
diff --git a/single_include/nlohmann/json.hpp b/single_include/nlohmann/json.hpp
index c8cabbbf..b524fe69 100644
--- a/single_include/nlohmann/json.hpp
+++ b/single_include/nlohmann/json.hpp
@@ -15886,11 +15886,12 @@ struct ordered_map : Container
 {
     using key_type = Key;
     using mapped_type = T;
-    using value_type = typename Container::value_type;
-    using size_type = typename Container::size_type;
+    using typename Container::iterator;
+    using typename Container::value_type;
+    using typename Container::size_type;
     using Container::Container;
 
-    std::pair<typename Container::iterator, bool> emplace(key_type&& key, T&& t)
+    std::pair<iterator, bool> emplace(key_type&& key, T&& t)
     {
         for (auto it = this->begin(); it != this->end(); ++it)
         {