diff --git a/lib/System/Win32/MappedFile.cpp b/lib/System/Win32/MappedFile.cpp
index d81ef6a..982a3b2 100644
--- a/lib/System/Win32/MappedFile.cpp
+++ b/lib/System/Win32/MappedFile.cpp
@@ -97,7 +97,7 @@
   return base_;
 }
 
-size_t MappedFile::size() {
+size_t MappedFile::size() const {
   assert(info_ && "MappedFile not initialized");
   return info_->size;
 }
diff --git a/lib/System/Win32/MappedFile.inc b/lib/System/Win32/MappedFile.inc
index d81ef6a..982a3b2 100644
--- a/lib/System/Win32/MappedFile.inc
+++ b/lib/System/Win32/MappedFile.inc
@@ -97,7 +97,7 @@
   return base_;
 }
 
-size_t MappedFile::size() {
+size_t MappedFile::size() const {
   assert(info_ && "MappedFile not initialized");
   return info_->size;
 }
diff --git a/lib/System/Win32/Path.cpp b/lib/System/Win32/Path.cpp
index cb45941..095417f 100644
--- a/lib/System/Win32/Path.cpp
+++ b/lib/System/Win32/Path.cpp
@@ -244,14 +244,6 @@
 }
 
 bool
-Path::isArchive() const {
-  if (readable()) {
-    return hasMagicNumber("!<arch>\012");
-  }
-  return false;
-}
-
-bool
 Path::exists() const {
   DWORD attr = GetFileAttributes(path.c_str());
   return attr != INVALID_FILE_ATTRIBUTES;
diff --git a/lib/System/Win32/Path.inc b/lib/System/Win32/Path.inc
index cb45941..095417f 100644
--- a/lib/System/Win32/Path.inc
+++ b/lib/System/Win32/Path.inc
@@ -244,14 +244,6 @@
 }
 
 bool
-Path::isArchive() const {
-  if (readable()) {
-    return hasMagicNumber("!<arch>\012");
-  }
-  return false;
-}
-
-bool
 Path::exists() const {
   DWORD attr = GetFileAttributes(path.c_str());
   return attr != INVALID_FILE_ATTRIBUTES;
