diff --git a/autobuild.xml b/autobuild.xml
index 9a96ff0931f67afd6ec2f482f0c2d496e2733de4..e3cca8e108d9b6b1f678e113ebc2ad37b9a33577 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -1467,11 +1467,11 @@
               <key>creds</key>
               <string>gitlab</string>
               <key>hash</key>
-              <string>d406063afef2eaffb95cd20987da021b9eb1489495f7d70bf46263ca675ed7b763a4f10a74557335b3d2120607f18ad42cb574bdf57acde76cff9f79e83806db</string>
+              <string>9069e994d5a7fa050872abef8afbc6587f09e02bf5a108a6090c5f15fcdf522004b85e29b30ae08ea83fdd43b805f37bb8b719bee7587a940109fa520dd33301</string>
               <key>hash_algorithm</key>
               <string>blake2b</string>
               <key>url</key>
-              <string>https://git.alchemyviewer.org/api/v4/projects/192/packages/generic/llphysicsextensions_tpv/1.0.571939/llphysicsextensions_tpv-1.0.571939-darwin64-571939.tar.bz2</string>
+              <string>https://git.alchemyviewer.org/api/v4/projects/192/packages/generic/llphysicsextensions_tpv/1.0.577418/llphysicsextensions_tpv-1.0.577418-darwin64-577418.tar.bz2</string>
             </map>
             <key>name</key>
             <string>darwin64</string>
@@ -1483,11 +1483,11 @@
               <key>creds</key>
               <string>gitlab</string>
               <key>hash</key>
-              <string>4a2de5ef7194c64268de1b87b517b8d22cb8347a9fa2fdbc2ac48deebe92ad08a0b664ab4c7419de249de11385bcdf5d2a075b764ac3399e228db29506dbd54b</string>
+              <string>f0d5a4733498fbc779bed2639ea5a14cf2cf888c7e74c446e24df00d593e69c2edce17592ea69da7fff3ef8070672534d074a7654d3e18c691dcef5cc4c4ec1e</string>
               <key>hash_algorithm</key>
               <string>blake2b</string>
               <key>url</key>
-              <string>https://git.alchemyviewer.org/api/v4/projects/192/packages/generic/llphysicsextensions_tpv/1.0.571939/llphysicsextensions_tpv-1.0.571939-windows-571939.tar.bz2</string>
+              <string>https://git.alchemyviewer.org/api/v4/projects/192/packages/generic/llphysicsextensions_tpv/1.0.577418/llphysicsextensions_tpv-1.0.577418-windows-577418.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows</string>
@@ -1499,11 +1499,11 @@
               <key>creds</key>
               <string>gitlab</string>
               <key>hash</key>
-              <string>254ecd68df52da6b86bcc64cd83758a8b9a1c398e33ed43cfe9efef28b249f6d7eb8450e27d901177eb9084d52ff7fa428e93fe6f4721ad6ff3d1f4728dc34d8</string>
+              <string>3471aae4c25f6376589b1688165f7568a6735abc928dda2ee8767b5a9e1d0b537eb4f5e67c6c1f3e619b6cafb1a9c295002ad7e10431f424a0bf853bbc67e6a5</string>
               <key>hash_algorithm</key>
               <string>blake2b</string>
               <key>url</key>
-              <string>https://git.alchemyviewer.org/api/v4/projects/192/packages/generic/llphysicsextensions_tpv/1.0.571939/llphysicsextensions_tpv-1.0.571939-windows64-571939.tar.bz2</string>
+              <string>https://git.alchemyviewer.org/api/v4/projects/192/packages/generic/llphysicsextensions_tpv/1.0.577418/llphysicsextensions_tpv-1.0.577418-windows64-577418.tar.bz2</string>
             </map>
             <key>name</key>
             <string>windows64</string>
@@ -1512,7 +1512,7 @@
         <key>source_type</key>
         <string>hg</string>
         <key>version</key>
-        <string>1.0.571939</string>
+        <string>1.0.577418</string>
       </map>
       <key>minizip-ng</key>
       <map>
diff --git a/indra/llcommon/lluuid.cpp b/indra/llcommon/lluuid.cpp
index 6172d28d026c27783b6df7efc16c442c74db3537..da8bce8a3687f5b8019d5bcaf2c3b1a1ceeeff4e 100644
--- a/indra/llcommon/lluuid.cpp
+++ b/indra/llcommon/lluuid.cpp
@@ -53,20 +53,6 @@ LLUUID::LLUUID()
 {
 }
 
-LLUUID::LLUUID(const LLUUID& rhs) 
-{ 
-	std::memcpy(mData, rhs.mData, sizeof(mData)); 
-}
-
-LLUUID::LLUUID(LLUUID&& rhs) noexcept
-{ 
-	std::memmove(mData, rhs.mData, sizeof(mData)); 
-}
-
-LLUUID::~LLUUID() 
-{
-}
-
 bool LLUUID::operator==(const LLUUID& rhs) const
 {
 	__m128i mm_left = load_unaligned_si128(mData);
diff --git a/indra/llcommon/lluuid.h b/indra/llcommon/lluuid.h
index 3f4a0eb4b12dabe44af40f2def2e156875afed84..4fa2da38217d0b9635898d0dfffc1d853bf6ec49 100644
--- a/indra/llcommon/lluuid.h
+++ b/indra/llcommon/lluuid.h
@@ -55,17 +55,9 @@ class LL_COMMON_API LLUUID
 	// CREATORS
 	//
 	LLUUID();
-	LLUUID(const LLUUID& rhs);
-	LLUUID(LLUUID&& rhs) noexcept;
-	~LLUUID();
-
-	LLUUID& operator=(const LLUUID& rhs) { std::memcpy(mData, rhs.mData, sizeof(mData)); return *this;}
-	LLUUID& operator=(LLUUID&& rhs) noexcept { std::memmove(mData, rhs.mData, sizeof(mData)); return *this;}
-
 	explicit LLUUID(const char *in_string); // Convert from string.
 	explicit LLUUID(const std::string_view in_string); // Convert from string.
-
-
+	~LLUUID() = default;
 
 	//
 	// MANIPULATORS
@@ -242,6 +234,10 @@ class LL_COMMON_API LLUUID
 	U8 mData[UUID_BYTES] = {};
 };
 
+static_assert(std::is_trivially_copyable<LLUUID>::value, "LLUUID must be trivial copy");
+static_assert(std::is_trivially_move_assignable<LLUUID>::value, "LLUUID must be trivial move");
+static_assert(std::is_standard_layout<LLUUID>::value, "LLUUID must be a standard layout type");
+
 typedef std::vector<LLUUID> uuid_vec_t;
 typedef std::set<LLUUID> uuid_set_t;