From 33cdc6655b0de44cb7a431216dcbb0d5a552aec6 Mon Sep 17 00:00:00 2001
From: Mike Hommey <mh+mozilla@glandium.org>
Date: Wed, 1 May 2024 08:05:40 +0000
Subject: [PATCH] Bug 1894423 - Remove unused ExclusiveData move constructor.
 r=spidermonkey-reviewers,jonco

Because the constructor is actually not used, the compiler used to not
complain about it being broken. Recent changes on clang trunk made it
catch this problem without the constructor being used.

As Mutex doesn't have a move constructor, it's also not only a matter of
adding the missing underscore to lock.

As the constructor is never used, just remove it.

Differential Revision: https://phabricator.services.mozilla.com/D209108
---
 js/src/threading/ExclusiveData.h | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/js/src/threading/ExclusiveData.h b/js/src/threading/ExclusiveData.h
index 38e89f10a1d3b..2d8ca831bf7db 100644
--- js/src/threading/ExclusiveData.h
+++ js/src/threading/ExclusiveData.h
@@ -109,11 +109,6 @@ class ExclusiveData {
   explicit ExclusiveData(const MutexId& id, Args&&... args)
       : lock_(id), value_(std::forward<Args>(args)...) {}
 
-  ExclusiveData(ExclusiveData&& rhs)
-      : lock_(std::move(rhs.lock)), value_(std::move(rhs.value_)) {
-    MOZ_ASSERT(&rhs != this, "self-move disallowed!");
-  }
-
   ExclusiveData& operator=(ExclusiveData&& rhs) {
     this->~ExclusiveData();
     new (mozilla::KnownNotNull, this) ExclusiveData(std::move(rhs));
