From 1e02318b4920a58d5c56c7184453794881ba5303 Mon Sep 17 00:00:00 2001
From: Simon Giesecke <sgiesecke@mozilla.com>
Date: Fri, 7 Aug 2020 07:49:47 +0000
Subject: [PATCH] Bug 1653335 - Replace MakeSpan uses by constructor calls.
 r=froydnj

Differential Revision: https://phabricator.services.mozilla.com/D83817
---
 dom/base/BodyUtil.cpp                         |   4 +-
 dom/base/CharacterData.cpp                    |   2 +-
 dom/base/DOMParser.cpp                        |   4 +-
 dom/base/DocumentOrShadowRoot.cpp             |   2 +-
 dom/base/EventSource.cpp                      |   4 +-
 dom/base/nsContentUtils.cpp                   |  22 +--
 dom/base/nsDocumentEncoder.cpp                |   4 +-
 dom/base/nsTextFragment.cpp                   |  14 +-
 dom/base/nsXMLContentSerializer.cpp           |   2 +-
 dom/bindings/BindingUtils.cpp                 |   2 +-
 dom/encoding/TextDecoder.cpp                  |   2 +-
 dom/encoding/TextEncoder.cpp                  |   2 +-
 dom/events/DataTransfer.cpp                   |  11 +-
 dom/fetch/BodyExtractor.cpp                   |   2 +-
 dom/file/FileReader.cpp                       |   4 +-
 dom/file/MemoryBlobImpl.cpp                   |   2 +-
 dom/indexedDB/ActorsParent.cpp                |   5 +-
 dom/jsurl/nsJSProtocolHandler.cpp             |   2 +-
 dom/media/AudioStream.cpp                     |   4 +-
 dom/media/DynamicResampler.h                  |   4 +-
 dom/media/MediaCache.cpp                      |  18 +--
 dom/media/gmp/ChromiumCDMParent.cpp           |   8 +-
 dom/media/gtest/TestAudioRingBuffer.cpp       | 100 +++++++-------
 dom/media/mp4/MP4Demuxer.cpp                  |   2 +-
 .../platforms/agnostic/bytestreams/H264.cpp   |   4 +-
 .../platforms/android/AndroidDataEncoder.cpp  |   6 +-
 .../platforms/wmf/WMFVideoMFTManager.cpp      |   2 +-
 .../platforms/wrappers/MediaChangeMonitor.cpp |   2 +-
 dom/media/webaudio/AudioNodeTrack.cpp         |   6 +-
 dom/media/webaudio/AudioWorkletNode.cpp       |   4 +-
 dom/media/webm/WebMDemuxer.cpp                |   4 +-
 dom/presentation/PresentationRequest.cpp      |   2 +-
 dom/quota/test/gtest/TestEncryptedStream.cpp  |   4 +-
 dom/script/ScriptLoadHandler.cpp              |   6 +-
 dom/script/ScriptLoader.cpp                   |   4 +-
 dom/system/IOUtils.cpp                        |   2 +-
 dom/webauthn/WebAuthnUtil.cpp                 |   2 +-
 dom/xhr/XMLHttpRequestMainThread.cpp          |   4 +-
 .../spellcheck/hunspell/glue/mozHunspell.cpp  |   4 +-
 extensions/spellcheck/hunspell/src/csutil.cxx |   8 +-
 gfx/layers/TextureSync.cpp                    |   7 +-
 gfx/thebes/gfxSVGGlyphs.cpp                   |   2 +-
 image/imgTools.cpp                            |   2 +-
 intl/uconv/nsConverterInputStream.cpp         |   4 +-
 intl/uconv/nsConverterOutputStream.cpp        |   6 +-
 intl/uconv/nsScriptableUConv.cpp              |  10 +-
 ipc/glue/GeckoChildProcessHost.cpp            |   4 +-
 js/src/builtin/TestingFunctions.cpp           |   4 +-
 js/src/builtin/intl/DisplayNames.cpp          |  20 ++-
 js/src/builtin/intl/LanguageTag.cpp           |   4 +-
 js/src/builtin/intl/LanguageTag.h             |   4 +-
 js/src/builtin/intl/Locale.cpp                |   4 +-
 js/src/ctypes/CTypes.cpp                      |   4 +-
 js/src/ctypes/Library.cpp                     |   2 +-
 js/src/frontend/Frontend2.cpp                 |   6 +-
 js/src/frontend/SwitchEmitter.cpp             |   2 +-
 js/src/frontend/TokenStream.cpp               |   4 +-
 js/src/jit/BaselineJIT.cpp                    |   2 +-
 .../testDeflateStringToUTF8Buffer.cpp         |   2 +-
 js/src/shell/js.cpp                           |   4 +-
 js/src/util/Text.h                            |   9 +-
 js/src/vm/CharacterEncoding.cpp               |   9 +-
 js/src/vm/JSScript.cpp                        |   2 +-
 js/src/vm/Printer.cpp                         |   2 +-
 js/src/vm/StringType.cpp                      |  24 ++--
 js/src/wasm/WasmJS.cpp                        |   4 +-
 js/src/wasm/WasmValidate.cpp                  |   4 +-
 js/xpconnect/src/XPCConvert.cpp               |   8 +-
 js/xpconnect/src/nsXPConnect.cpp              |   2 +-
 layout/base/nsBidiPresUtils.cpp               |   2 +-
 layout/painting/RetainedDisplayListHelpers.h  |   7 +-
 layout/style/ServoStyleConstsInlines.h        |   2 +-
 .../0.1/ClearKeyDecryptionManager.cpp         |   6 +-
 .../WebrtcMediaDataEncoderCodec.cpp           |   3 +-
 mfbt/Array.h                                  |   2 +-
 mfbt/DbgMacro.h                               |   2 +-
 mfbt/tests/TestUtf8.cpp                       |  35 +++--
 mfbt/tests/gtest/TestSpan.cpp                 |  60 ++++----
 .../libjar/zipwriter/nsDeflateConverter.cpp   |   6 +-
 modules/libjar/zipwriter/nsZipDataStream.cpp  |   2 +-
 mozglue/misc/NativeNt.h                       |   4 +-
 mozglue/misc/interceptor/MMPolicies.h         |   4 +-
 mozglue/tests/TestBaseProfiler.cpp            |   4 +-
 netwerk/base/ProxyAutoConfig.cpp              |   2 +-
 netwerk/base/nsStandardURL.cpp                |   4 +-
 netwerk/dns/nsEffectiveTLDService.cpp         |   2 +-
 netwerk/protocol/ftp/FTPChannelChild.cpp      |   2 +-
 netwerk/protocol/ftp/FTPChannelParent.cpp     |   5 +-
 netwerk/protocol/http/HttpChannelChild.cpp    |   2 +-
 netwerk/protocol/http/HttpChannelParent.cpp   |   5 +-
 .../protocol/http/HttpTransactionParent.cpp   |   6 +-
 parser/html/nsHtml5Portability.cpp            |   2 +-
 parser/html/nsHtml5StreamParser.cpp           |   6 +-
 parser/html/nsHtml5String.cpp                 |   2 +-
 parser/html/nsHtml5TreeBuilderCppSupplement.h |   3 +-
 parser/htmlparser/nsParser.cpp                |   2 +-
 parser/htmlparser/nsScanner.cpp               |   3 +-
 .../certverifier/NSSCertDBTrustDomain.cpp     |   3 +-
 security/manager/ssl/CommonSocketControl.cpp  |   2 +-
 .../manager/ssl/SSLServerCertVerification.cpp |   6 +-
 security/manager/ssl/nsNSSCertHelper.cpp      |   2 +-
 security/manager/ssl/nsNSSCertificate.cpp     |   2 +-
 security/manager/ssl/nsNSSCertificateDB.cpp   |   8 +-
 startupcache/StartupCache.cpp                 |  18 ++-
 startupcache/StartupCacheUtils.cpp            |   5 +-
 .../ThreadStackHelper.cpp                     |   4 +-
 .../webrequest/StreamFilterParent.cpp         |   2 +-
 .../osfile/NativeOSFileInternals.cpp          |   2 +-
 .../extensions/AddonManagerStartup.cpp        |   2 +-
 .../interface/FuzzingInterfaceStream.h        |   2 +-
 .../exthandler/ExternalHelperAppParent.cpp    |   5 +-
 widget/cocoa/nsClipboard.mm                   |   7 +-
 widget/gtk/WidgetStyleCache.cpp               |   2 +-
 widget/gtk/gtk3drawing.cpp                    |   2 +-
 widget/gtk/nsClipboard.cpp                    |   6 +-
 widget/gtk/nsLookAndFeel.cpp                  |   4 +-
 xpcom/build/Omnijar.cpp                       |   4 +-
 xpcom/ds/nsTArray.h                           |   2 +-
 xpcom/io/nsBinaryStream.cpp                   |   7 +-
 xpcom/io/nsEscape.cpp                         |   2 +-
 xpcom/string/nsReadableUtils.cpp              |  10 +-
 xpcom/string/nsReadableUtils.h                |   2 +-
 xpcom/string/nsTextFormatter.h                |   4 +-
 xpcom/tests/gtest/TestSnappyStreams.cpp       |   2 +-
 xpcom/tests/gtest/TestStrings.cpp             | 130 +++++++++---------
 125 files changed, 428 insertions(+), 455 deletions(-)

diff --git a/dom/base/BodyUtil.cpp b/dom/base/BodyUtil.cpp
index e93332ef0d142..abf43728ab373 100644
--- a/dom/base/BodyUtil.cpp
+++ b/dom/base/BodyUtil.cpp
@@ -467,8 +467,8 @@ already_AddRefed<FormData> BodyUtil::ConsumeFormData(nsIGlobalObject* aParent,
 // static
 nsresult BodyUtil::ConsumeText(uint32_t aInputLength, uint8_t* aInput,
                                nsString& aText) {
-  nsresult rv = UTF_8_ENCODING->DecodeWithBOMRemoval(
-      MakeSpan(aInput, aInputLength), aText);
+  nsresult rv =
+      UTF_8_ENCODING->DecodeWithBOMRemoval(Span(aInput, aInputLength), aText);
   if (NS_FAILED(rv)) {
     return rv;
   }
diff --git a/dom/base/CharacterData.cpp b/dom/base/CharacterData.cpp
index 9033f834648d2..a197f2fa192d0 100644
--- a/dom/base/CharacterData.cpp
+++ b/dom/base/CharacterData.cpp
@@ -286,7 +286,7 @@ nsresult CharacterData::SetTextInternal(
     if (aLength) {
       to.Append(aBuffer, aLength);
       if (!bidi && (!document || !document->GetBidiEnabled())) {
-        bidi = HasRTLChars(MakeSpan(aBuffer, aLength));
+        bidi = HasRTLChars(Span(aBuffer, aLength));
       }
     }
     if (endOffset != textLength) {
diff --git a/dom/base/DOMParser.cpp b/dom/base/DOMParser.cpp
index d897aeb46018f..abb89133bc9ea 100644
--- a/dom/base/DOMParser.cpp
+++ b/dom/base/DOMParser.cpp
@@ -119,7 +119,7 @@ already_AddRefed<Document> DOMParser::ParseFromBuffer(const Uint8Array& aBuf,
                                                       SupportedType aType,
                                                       ErrorResult& aRv) {
   aBuf.ComputeState();
-  return ParseFromBuffer(MakeSpan(aBuf.Data(), aBuf.Length()), aType, aRv);
+  return ParseFromBuffer(Span(aBuf.Data(), aBuf.Length()), aType, aRv);
 }
 
 already_AddRefed<Document> DOMParser::ParseFromBuffer(Span<const uint8_t> aBuf,
@@ -129,7 +129,7 @@ already_AddRefed<Document> DOMParser::ParseFromBuffer(Span<const uint8_t> aBuf,
   nsCOMPtr<nsIInputStream> stream;
   nsresult rv = NS_NewByteInputStream(
       getter_AddRefs(stream),
-      MakeSpan(reinterpret_cast<const char*>(aBuf.Elements()), aBuf.Length()),
+      Span(reinterpret_cast<const char*>(aBuf.Elements()), aBuf.Length()),
       NS_ASSIGNMENT_DEPEND);
   if (NS_FAILED(rv)) {
     aRv.Throw(rv);
diff --git a/dom/base/DocumentOrShadowRoot.cpp b/dom/base/DocumentOrShadowRoot.cpp
index a0777976da07d..bc6ef02c74e5a 100644
--- a/dom/base/DocumentOrShadowRoot.cpp
+++ b/dom/base/DocumentOrShadowRoot.cpp
@@ -172,7 +172,7 @@ void DocumentOrShadowRoot::SetAdoptedStyleSheets(
   mAdoptedStyleSheets.SetCapacity(aAdoptedStyleSheets.Length());
 
   // Only add sheets that are not already in the common prefix.
-  for (const auto& sheet : MakeSpan(aAdoptedStyleSheets).From(commonPrefix)) {
+  for (const auto& sheet : Span(aAdoptedStyleSheets).From(commonPrefix)) {
     if (MOZ_UNLIKELY(!set.EnsureInserted(sheet))) {
       // The idea is that this case is rare, so we pay the price of removing the
       // old sheet from the styles and append it later rather than the other way
diff --git a/dom/base/EventSource.cpp b/dom/base/EventSource.cpp
index 4429ac6940eec..59a9f3790104e 100644
--- a/dom/base/EventSource.cpp
+++ b/dom/base/EventSource.cpp
@@ -759,8 +759,8 @@ void EventSourceImpl::ParseSegment(const char* aBuffer, uint32_t aLength) {
     return;
   }
   char16_t buffer[1024];
-  auto dst = MakeSpan(buffer);
-  auto src = AsBytes(MakeSpan(aBuffer, aLength));
+  auto dst = Span(buffer);
+  auto src = AsBytes(Span(aBuffer, aLength));
   // XXX EOF handling is https://bugzilla.mozilla.org/show_bug.cgi?id=1369018
   for (;;) {
     uint32_t result;
diff --git a/dom/base/nsContentUtils.cpp b/dom/base/nsContentUtils.cpp
index c7a7850aeef90..dca0347eaf7a5 100644
--- a/dom/base/nsContentUtils.cpp
+++ b/dom/base/nsContentUtils.cpp
@@ -8301,26 +8301,26 @@ class StringBuilder {
             EncodeAttrString(*(u.mString), appender);
             break;
           case Unit::eLiteral:
-            appender.Append(MakeSpan(u.mLiteral, u.mLength));
+            appender.Append(Span(u.mLiteral, u.mLength));
             break;
           case Unit::eTextFragment:
             if (u.mTextFragment->Is2b()) {
-              appender.Append(MakeSpan(u.mTextFragment->Get2b(),
-                                       u.mTextFragment->GetLength()));
+              appender.Append(
+                  Span(u.mTextFragment->Get2b(), u.mTextFragment->GetLength()));
             } else {
-              appender.Append(MakeSpan(u.mTextFragment->Get1b(),
-                                       u.mTextFragment->GetLength()));
+              appender.Append(
+                  Span(u.mTextFragment->Get1b(), u.mTextFragment->GetLength()));
             }
             break;
           case Unit::eTextFragmentWithEncode:
             if (u.mTextFragment->Is2b()) {
-              EncodeTextFragment(MakeSpan(u.mTextFragment->Get2b(),
-                                          u.mTextFragment->GetLength()),
-                                 appender);
+              EncodeTextFragment(
+                  Span(u.mTextFragment->Get2b(), u.mTextFragment->GetLength()),
+                  appender);
             } else {
-              EncodeTextFragment(MakeSpan(u.mTextFragment->Get1b(),
-                                          u.mTextFragment->GetLength()),
-                                 appender);
+              EncodeTextFragment(
+                  Span(u.mTextFragment->Get1b(), u.mTextFragment->GetLength()),
+                  appender);
             }
             break;
           default:
diff --git a/dom/base/nsDocumentEncoder.cpp b/dom/base/nsDocumentEncoder.cpp
index f4a6216a4c75a..be7c23fa81a5a 100644
--- a/dom/base/nsDocumentEncoder.cpp
+++ b/dom/base/nsDocumentEncoder.cpp
@@ -113,8 +113,8 @@ nsresult TextStreamer::EncodeAndWrite() {
   }
 
   uint8_t buffer[kEncoderBufferSizeInBytes];
-  auto src = MakeSpan(mOutputBuffer);
-  auto bufferSpan = MakeSpan(buffer);
+  auto src = Span(mOutputBuffer);
+  auto bufferSpan = Span(buffer);
   // Reserve space for terminator
   auto dst = bufferSpan.To(bufferSpan.Length() - 1);
   for (;;) {
diff --git a/dom/base/nsTextFragment.cpp b/dom/base/nsTextFragment.cpp
index a0b4800cf8725..a851def01c6d4 100644
--- a/dom/base/nsTextFragment.cpp
+++ b/dom/base/nsTextFragment.cpp
@@ -314,8 +314,7 @@ bool nsTextFragment::SetTo(const char16_t* aBuffer, int32_t aLength,
     }
 
     // Copy data
-    LossyConvertUtf16toLatin1(MakeSpan(aBuffer, aLength),
-                              MakeSpan(buff, aLength));
+    LossyConvertUtf16toLatin1(Span(aBuffer, aLength), Span(buff, aLength));
     m1b = buff;
     mState.mIs2b = false;
   }
@@ -344,7 +343,7 @@ void nsTextFragment::CopyTo(char16_t* aDest, int32_t aOffset, int32_t aCount) {
       memcpy(aDest, Get2b() + aOffset, sizeof(char16_t) * aCount);
     } else {
       const char* cp = m1b + aOffset;
-      ConvertLatin1toUtf16(MakeSpan(cp, aCount), MakeSpan(aDest, aCount));
+      ConvertLatin1toUtf16(Span(cp, aCount), Span(aDest, aCount));
     }
   }
 }
@@ -429,8 +428,7 @@ bool nsTextFragment::Append(const char16_t* aBuffer, uint32_t aLength,
 
     // Copy data into buff
     char16_t* data = static_cast<char16_t*>(buff->Data());
-    ConvertLatin1toUtf16(MakeSpan(m1b, mState.mLength),
-                         MakeSpan(data, mState.mLength));
+    ConvertLatin1toUtf16(Span(m1b, mState.mLength), Span(data, mState.mLength));
 
     memcpy(data + mState.mLength, aBuffer, aLength * sizeof(char16_t));
     mState.mLength += aLength;
@@ -471,8 +469,8 @@ bool nsTextFragment::Append(const char16_t* aBuffer, uint32_t aLength,
   }
 
   // Copy aBuffer into buff.
-  LossyConvertUtf16toLatin1(MakeSpan(aBuffer, aLength),
-                            MakeSpan(buff + mState.mLength, aLength));
+  LossyConvertUtf16toLatin1(Span(aBuffer, aLength),
+                            Span(buff + mState.mLength, aLength));
 
   m1b = buff;
   mState.mLength += aLength;
@@ -498,7 +496,7 @@ size_t nsTextFragment::SizeOfExcludingThis(
 // every allocation
 void nsTextFragment::UpdateBidiFlag(const char16_t* aBuffer, uint32_t aLength) {
   if (mState.mIs2b && !mState.mIsBidi) {
-    if (HasRTLChars(MakeSpan(aBuffer, aLength))) {
+    if (HasRTLChars(Span(aBuffer, aLength))) {
       mState.mIsBidi = true;
     }
   }
diff --git a/dom/base/nsXMLContentSerializer.cpp b/dom/base/nsXMLContentSerializer.cpp
index 0c91fe8f758e0..f6f37bb88735a 100644
--- a/dom/base/nsXMLContentSerializer.cpp
+++ b/dom/base/nsXMLContentSerializer.cpp
@@ -166,7 +166,7 @@ nsresult nsXMLContentSerializer::AppendTextData(nsIContent* aNode,
     }
   } else {
     nsAutoString utf16;
-    if (!CopyASCIItoUTF16(MakeSpan(frag->Get1b() + aStartOffset, length), utf16,
+    if (!CopyASCIItoUTF16(Span(frag->Get1b() + aStartOffset, length), utf16,
                           mozilla::fallible_t())) {
       return NS_ERROR_OUT_OF_MEMORY;
     }
diff --git a/dom/bindings/BindingUtils.cpp b/dom/bindings/BindingUtils.cpp
index 8d51d5b65dcfa..55980599bf0f9 100644
--- a/dom/bindings/BindingUtils.cpp
+++ b/dom/bindings/BindingUtils.cpp
@@ -2624,7 +2624,7 @@ bool NormalizeUSVString(binding_detail::FakeString<char16_t>& aString) {
   }
 
   char16_t* ptr = aString.BeginWriting();
-  auto span = MakeSpan(ptr, len);
+  auto span = Span(ptr, len);
   span[upTo] = 0xFFFD;
   EnsureUtf16ValiditySpan(span.From(upTo + 1));
   return true;
diff --git a/dom/encoding/TextDecoder.cpp b/dom/encoding/TextDecoder.cpp
index 8718ca7b6134d..8d32d898334b9 100644
--- a/dom/encoding/TextDecoder.cpp
+++ b/dom/encoding/TextDecoder.cpp
@@ -116,7 +116,7 @@ void TextDecoder::Decode(const Optional<ArrayBufferViewOrArrayBuffer>& aBuffer,
     data = buf.GetAsArrayBuffer().Data();
     length = buf.GetAsArrayBuffer().Length();
   }
-  Decode(MakeSpan(data, length), aOptions.mStream, aOutDecodedString, aRv);
+  Decode(Span(data, length), aOptions.mStream, aOutDecodedString, aRv);
 }
 
 void TextDecoder::GetEncoding(nsAString& aEncoding) {
diff --git a/dom/encoding/TextEncoder.cpp b/dom/encoding/TextEncoder.cpp
index 871c2055ff7aa..3cb606739b26b 100644
--- a/dom/encoding/TextEncoder.cpp
+++ b/dom/encoding/TextEncoder.cpp
@@ -34,7 +34,7 @@ void TextEncoder::EncodeInto(JSContext* aCx, JS::Handle<JSString*> aSrc,
   size_t read;
   size_t written;
   auto maybe = JS_EncodeStringToUTF8BufferPartial(
-      aCx, aSrc, AsWritableChars(MakeSpan(aDst.Data(), aDst.Length())));
+      aCx, aSrc, AsWritableChars(Span(aDst.Data(), aDst.Length())));
   if (!maybe) {
     aError.ReportOOM();
     return;
diff --git a/dom/events/DataTransfer.cpp b/dom/events/DataTransfer.cpp
index e396645dd4035..f29a19dde476b 100644
--- a/dom/events/DataTransfer.cpp
+++ b/dom/events/DataTransfer.cpp
@@ -1062,7 +1062,7 @@ already_AddRefed<nsITransferable> DataTransfer::GetTransferable(
                                  type.Length() * sizeof(nsString::char_type),
                          "Why is formatLength off?");
               rv = stream->WriteBytes(
-                  AsBytes(MakeSpan(type.BeginReading(), type.Length())));
+                  AsBytes(Span(type.BeginReading(), type.Length())));
               if (NS_WARN_IF(NS_FAILED(rv))) {
                 totalCustomLength = 0;
                 continue;
@@ -1076,9 +1076,9 @@ already_AddRefed<nsITransferable> DataTransfer::GetTransferable(
               // length of "data" if the variant contained an nsISupportsString
               // as VTYPE_INTERFACE, say.  We used lengthInBytes above for
               // sizing, so just keep doing that.
-              rv = stream->WriteBytes(MakeSpan(
-                  reinterpret_cast<const uint8_t*>(data.BeginReading()),
-                  lengthInBytes));
+              rv = stream->WriteBytes(
+                  Span(reinterpret_cast<const uint8_t*>(data.BeginReading()),
+                       lengthInBytes));
               if (NS_WARN_IF(NS_FAILED(rv))) {
                 totalCustomLength = 0;
                 continue;
@@ -1492,8 +1492,7 @@ void DataTransfer::FillInExternalCustomTypes(nsIVariant* aData, uint32_t aIndex,
 
   nsCOMPtr<nsIInputStream> stringStream;
   NS_NewByteInputStream(getter_AddRefs(stringStream),
-                        MakeSpan(chrs, checkedLen.value()),
-                        NS_ASSIGNMENT_ADOPT);
+                        Span(chrs, checkedLen.value()), NS_ASSIGNMENT_ADOPT);
 
   nsCOMPtr<nsIObjectInputStream> stream = NS_NewObjectInputStream(stringStream);
 
diff --git a/dom/fetch/BodyExtractor.cpp b/dom/fetch/BodyExtractor.cpp
index 655236049cd36..0414adaeb3a23 100644
--- a/dom/fetch/BodyExtractor.cpp
+++ b/dom/fetch/BodyExtractor.cpp
@@ -33,7 +33,7 @@ static nsresult GetBufferDataAsStream(
 
   nsCOMPtr<nsIInputStream> stream;
   nsresult rv = NS_NewByteInputStream(
-      getter_AddRefs(stream), MakeSpan(data, aDataLength), NS_ASSIGNMENT_COPY);
+      getter_AddRefs(stream), Span(data, aDataLength), NS_ASSIGNMENT_COPY);
   NS_ENSURE_SUCCESS(rv, rv);
 
   stream.forget(aResult);
diff --git a/dom/file/FileReader.cpp b/dom/file/FileReader.cpp
index 58c974cf39f96..7217dbed3c59c 100644
--- a/dom/file/FileReader.cpp
+++ b/dom/file/FileReader.cpp
@@ -262,7 +262,7 @@ namespace {
 void PopulateBufferForBinaryString(char16_t* aDest, const char* aSource,
                                    uint32_t aCount) {
   // Zero-extend each char to char16_t.
-  ConvertLatin1toUtf16(MakeSpan(aSource, aCount), MakeSpan(aDest, aCount));
+  ConvertLatin1toUtf16(Span(aSource, aCount), Span(aDest, aCount));
 }
 
 nsresult ReadFuncBinaryString(nsIInputStream* aInputStream, void* aClosure,
@@ -468,7 +468,7 @@ nsresult FileReader::GetAsText(Blob* aBlob, const nsACString& aCharset,
     }
   }
 
-  auto data = MakeSpan(reinterpret_cast<const uint8_t*>(aFileData), aDataLen);
+  auto data = Span(reinterpret_cast<const uint8_t*>(aFileData), aDataLen);
   nsresult rv;
   Tie(rv, encoding) = encoding->Decode(data, aResult);
   return NS_FAILED(rv) ? rv : NS_OK;
diff --git a/dom/file/MemoryBlobImpl.cpp b/dom/file/MemoryBlobImpl.cpp
index fcb9814b9bd7d..b58633cc318fc 100644
--- a/dom/file/MemoryBlobImpl.cpp
+++ b/dom/file/MemoryBlobImpl.cpp
@@ -56,7 +56,7 @@ nsresult MemoryBlobImpl::DataOwnerAdapter::Create(DataOwner* aDataOwner,
 
   rv = NS_NewByteInputStream(
       getter_AddRefs(stream),
-      MakeSpan(static_cast<const char*>(aDataOwner->mData) + aStart, aLength),
+      Span(static_cast<const char*>(aDataOwner->mData) + aStart, aLength),
       NS_ASSIGNMENT_DEPEND);
   NS_ENSURE_SUCCESS(rv, rv);
 
diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp
index f94fc9cf76bda..4f27be600259d 100644
--- a/dom/indexedDB/ActorsParent.cpp
+++ b/dom/indexedDB/ActorsParent.cpp
@@ -894,7 +894,7 @@ nsresult ReadCompressedIndexDataValuesFromSource(
     return NS_ERROR_FILE_CORRUPTED;
   }
 
-  rv = ReadCompressedIndexDataValuesFromBlob(MakeSpan(blobData, blobDataLength),
+  rv = ReadCompressedIndexDataValuesFromBlob(Span(blobData, blobDataLength),
                                              aOutIndexValues);
   if (NS_WARN_IF(NS_FAILED(rv))) {
     return rv;
@@ -3580,8 +3580,7 @@ UpgradeIndexDataValuesFunction::OnFunctionCall(
     return rv;
   }
 
-  auto oldIdvOrErr =
-      ReadOldCompressedIDVFromBlob(MakeSpan(oldBlob, oldBlobLength));
+  auto oldIdvOrErr = ReadOldCompressedIDVFromBlob(Span(oldBlob, oldBlobLength));
   if (NS_WARN_IF(oldIdvOrErr.isErr())) {
     return oldIdvOrErr.unwrapErr();
   }
diff --git a/dom/jsurl/nsJSProtocolHandler.cpp b/dom/jsurl/nsJSProtocolHandler.cpp
index 87ec0cfbce95d..0b6a6a3891838 100644
--- a/dom/jsurl/nsJSProtocolHandler.cpp
+++ b/dom/jsurl/nsJSProtocolHandler.cpp
@@ -337,7 +337,7 @@ nsresult nsJSThunk::EvaluateScript(
     aChannel->SetContentCharset(*charset);
     if (bytes)
       rv = NS_NewByteInputStream(getter_AddRefs(mInnerStream),
-                                 mozilla::MakeSpan(bytes, bytesLen),
+                                 mozilla::Span(bytes, bytesLen),
                                  NS_ASSIGNMENT_ADOPT);
     else
       rv = NS_ERROR_OUT_OF_MEMORY;
diff --git a/dom/media/AudioStream.cpp b/dom/media/AudioStream.cpp
index 0a4bbcad7a40d..d7809ae692869 100644
--- a/dom/media/AudioStream.cpp
+++ b/dom/media/AudioStream.cpp
@@ -606,8 +606,8 @@ long AudioStream::DataCallback(void* aBuffer, long aFrames) {
   }
 
   auto writer = AudioBufferWriter(
-      MakeSpan<AudioDataValue>(reinterpret_cast<AudioDataValue*>(aBuffer),
-                               mOutChannels * aFrames),
+      Span<AudioDataValue>(reinterpret_cast<AudioDataValue*>(aBuffer),
+                           mOutChannels * aFrames),
       mOutChannels, aFrames);
 
   if (mPrefillQuirk) {
diff --git a/dom/media/DynamicResampler.h b/dom/media/DynamicResampler.h
index 8c5318fd38717..dc27aab96820a 100644
--- a/dom/media/DynamicResampler.h
+++ b/dom/media/DynamicResampler.h
@@ -134,7 +134,7 @@ class DynamicResampler final {
     }
 
     if (mInRate == mOutRate) {
-      mInternalInBuffer[aChannelIndex].Read(MakeSpan(aOutBuffer, *aOutFrames));
+      mInternalInBuffer[aChannelIndex].Read(Span(aOutBuffer, *aOutFrames));
       // Workaround to avoid discontinuity when the speex resampler operates
       // again. Feed it with the last 20 frames to warm up the internal memory
       // of the resampler and then skip memory equals to resampler's input
@@ -176,7 +176,7 @@ class DynamicResampler final {
     MOZ_ASSERT(aChannelIndex >= 0);
     MOZ_ASSERT(aChannelIndex <= mChannels);
     MOZ_ASSERT((uint32_t)aChannelIndex <= mInternalInBuffer.Length());
-    mInternalInBuffer[aChannelIndex].Write(MakeSpan(aInBuffer, aInFrames));
+    mInternalInBuffer[aChannelIndex].Write(Span(aInBuffer, aInFrames));
   }
 
   void WarmUpResampler(bool aSkipLatency);
diff --git a/dom/media/MediaCache.cpp b/dom/media/MediaCache.cpp
index 34050344a580b..7cf4a0dfcef71 100644
--- a/dom/media/MediaCache.cpp
+++ b/dom/media/MediaCache.cpp
@@ -2009,13 +2009,13 @@ void MediaCacheStream::NotifyDataReceived(uint32_t aLoadID, uint32_t aCount,
   // True if we commit any blocks to the cache.
   bool cacheUpdated = false;
 
-  auto source = MakeSpan<const uint8_t>(aData, aCount);
+  auto source = Span<const uint8_t>(aData, aCount);
 
   // We process the data one block (or part of a block) at a time
   while (!source.IsEmpty()) {
     // The data we've collected so far in the partial block.
-    auto partial = MakeSpan<const uint8_t>(mPartialBlockBuffer.get(),
-                                           OffsetInBlock(mChannelOffset));
+    auto partial = Span<const uint8_t>(mPartialBlockBuffer.get(),
+                                       OffsetInBlock(mChannelOffset));
 
     if (partial.IsEmpty()) {
       // We've just started filling this buffer so now is a good time
@@ -2037,8 +2037,8 @@ void MediaCacheStream::NotifyDataReceived(uint32_t aLoadID, uint32_t aCount,
       cacheUpdated = true;
     } else {
       // The buffer to be filled in the partial block.
-      auto buf = MakeSpan<uint8_t>(mPartialBlockBuffer.get() + partial.Length(),
-                                   remaining);
+      auto buf = Span<uint8_t>(mPartialBlockBuffer.get() + partial.Length(),
+                               remaining);
       memcpy(buf.Elements(), source.Elements(), source.Length());
       mChannelOffset += source.Length();
       break;
@@ -2078,7 +2078,7 @@ void MediaCacheStream::FlushPartialBlockInternal(AutoLock& aLock,
     // Write back the partial block
     memset(mPartialBlockBuffer.get() + blockOffset, 0,
            BLOCK_SIZE - blockOffset);
-    auto data = MakeSpan<const uint8_t>(mPartialBlockBuffer.get(), BLOCK_SIZE);
+    auto data = Span<const uint8_t>(mPartialBlockBuffer.get(), BLOCK_SIZE);
     mMediaCache->AllocateAndWriteBlock(
         aLock, this, blockIndex,
         mMetadataInPartialBlockBuffer ? MODE_METADATA : MODE_PLAYBACK, data);
@@ -2458,7 +2458,7 @@ uint32_t MediaCacheStream::ReadPartialBlock(AutoLock&, int64_t aOffset,
     return 0;
   }
 
-  auto source = MakeSpan<const uint8_t>(
+  auto source = Span<const uint8_t>(
       mPartialBlockBuffer.get() + OffsetInBlock(aOffset),
       OffsetInBlock(mChannelOffset) - OffsetInBlock(aOffset));
   // We have |source.Length() <= BLOCK_SIZE < INT32_MAX| to guarantee
@@ -2529,7 +2529,7 @@ nsresult MediaCacheStream::Read(AutoLock& aLock, char* aBuffer, uint32_t aCount,
   auto streamOffset = mStreamOffset;
 
   // The buffer we are about to fill.
-  auto buffer = MakeSpan<char>(aBuffer, aCount);
+  auto buffer = Span<char>(aBuffer, aCount);
 
   // Read one block (or part of a block) at a time
   while (!buffer.IsEmpty()) {
@@ -2634,7 +2634,7 @@ nsresult MediaCacheStream::ReadFromCache(char* aBuffer, int64_t aOffset,
   AutoLock lock(mMediaCache->Monitor());
 
   // The buffer we are about to fill.
-  auto buffer = MakeSpan<char>(aBuffer, aCount);
+  auto buffer = Span<char>(aBuffer, aCount);
 
   // Read one block (or part of a block) at a time
   int64_t streamOffset = aOffset;
diff --git a/dom/media/gmp/ChromiumCDMParent.cpp b/dom/media/gmp/ChromiumCDMParent.cpp
index 32e18ca777faa..b00a73eb3d746 100644
--- a/dom/media/gmp/ChromiumCDMParent.cpp
+++ b/dom/media/gmp/ChromiumCDMParent.cpp
@@ -608,9 +608,9 @@ ipc::IPCResult ChromiumCDMParent::RecvDecrypted(const uint32_t& aId,
   }
   for (size_t i = 0; i < mDecrypts.Length(); i++) {
     if (mDecrypts[i]->mId == aId) {
-      mDecrypts[i]->PostResult(ToDecryptStatus(aStatus),
-                               MakeSpan<const uint8_t>(aShmem.get<uint8_t>(),
-                                                       aShmem.Size<uint8_t>()));
+      mDecrypts[i]->PostResult(
+          ToDecryptStatus(aStatus),
+          Span<const uint8_t>(aShmem.get<uint8_t>(), aShmem.Size<uint8_t>()));
       mDecrypts.RemoveElementAt(i);
       break;
     }
@@ -768,7 +768,7 @@ ipc::IPCResult ChromiumCDMParent::RecvDecodedShmem(const CDMVideoFrame& aFrame,
   }
 
   RefPtr<VideoData> v = CreateVideoFrame(
-      aFrame, MakeSpan<uint8_t>(aShmem.get<uint8_t>(), aShmem.Size<uint8_t>()));
+      aFrame, Span<uint8_t>(aShmem.get<uint8_t>(), aShmem.Size<uint8_t>()));
   if (!v) {
     mDecodePromise.RejectIfExists(
         MediaResult(NS_ERROR_OUT_OF_MEMORY,
diff --git a/dom/media/gtest/TestAudioRingBuffer.cpp b/dom/media/gtest/TestAudioRingBuffer.cpp
index 1276063e3b04a..4773515de5873 100644
--- a/dom/media/gtest/TestAudioRingBuffer.cpp
+++ b/dom/media/gtest/TestAudioRingBuffer.cpp
@@ -25,7 +25,7 @@ TEST(TestAudioRingBuffer, BasicFloat)
   EXPECT_EQ(ringBuffer.AvailableRead(), 4);
 
   float in[4] = {.1, .2, .3, .4};
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -39,7 +39,7 @@ TEST(TestAudioRingBuffer, BasicFloat)
   EXPECT_EQ(ringBuffer.AvailableWrite(), 0);
   EXPECT_EQ(ringBuffer.AvailableRead(), 10);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 0);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(ringBuffer.IsFull());
@@ -47,7 +47,7 @@ TEST(TestAudioRingBuffer, BasicFloat)
   EXPECT_EQ(ringBuffer.AvailableRead(), 10);
 
   float out[4] = {};
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -57,7 +57,7 @@ TEST(TestAudioRingBuffer, BasicFloat)
     EXPECT_FLOAT_EQ(f, 0.0);
   }
 
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -67,7 +67,7 @@ TEST(TestAudioRingBuffer, BasicFloat)
     EXPECT_FLOAT_EQ(in[i], out[i]);
   }
 
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 2);
   EXPECT_TRUE(ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -103,7 +103,7 @@ TEST(TestAudioRingBuffer, BasicShort)
   EXPECT_EQ(ringBuffer.AvailableRead(), 4);
 
   short in[4] = {1, 2, 3, 4};
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -117,7 +117,7 @@ TEST(TestAudioRingBuffer, BasicShort)
   EXPECT_EQ(ringBuffer.AvailableWrite(), 0);
   EXPECT_EQ(ringBuffer.AvailableRead(), 10);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 0);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(ringBuffer.IsFull());
@@ -125,7 +125,7 @@ TEST(TestAudioRingBuffer, BasicShort)
   EXPECT_EQ(ringBuffer.AvailableRead(), 10);
 
   short out[4] = {};
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -135,7 +135,7 @@ TEST(TestAudioRingBuffer, BasicShort)
     EXPECT_EQ(f, 0);
   }
 
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -145,7 +145,7 @@ TEST(TestAudioRingBuffer, BasicShort)
     EXPECT_EQ(in[i], out[i]);
   }
 
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 2);
   EXPECT_TRUE(ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -174,14 +174,14 @@ TEST(TestAudioRingBuffer, BasicFloat2)
   EXPECT_EQ(ringBuffer.AvailableRead(), 0);
 
   float in[4] = {.1, .2, .3, .4};
-  int rv = ringBuffer.Write(MakeSpan(in, 4));
+  int rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 6);
   EXPECT_EQ(ringBuffer.AvailableRead(), 4);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -189,7 +189,7 @@ TEST(TestAudioRingBuffer, BasicFloat2)
   EXPECT_EQ(ringBuffer.AvailableRead(), 8);
 
   float out[4] = {};
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -200,14 +200,14 @@ TEST(TestAudioRingBuffer, BasicFloat2)
   }
 
   // WriteIndex = 12
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 2);
   EXPECT_EQ(ringBuffer.AvailableRead(), 8);
 
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -217,7 +217,7 @@ TEST(TestAudioRingBuffer, BasicFloat2)
     EXPECT_FLOAT_EQ(in[i], out[i]);
   }
 
-  rv = ringBuffer.Read(MakeSpan(out, 8));
+  rv = ringBuffer.Read(Span(out, 8));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -227,7 +227,7 @@ TEST(TestAudioRingBuffer, BasicFloat2)
     EXPECT_FLOAT_EQ(in[i], out[i]);
   }
 
-  rv = ringBuffer.Read(MakeSpan(out, 8));
+  rv = ringBuffer.Read(Span(out, 8));
   EXPECT_EQ(rv, 0);
   EXPECT_TRUE(ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -238,28 +238,28 @@ TEST(TestAudioRingBuffer, BasicFloat2)
   }
 
   // WriteIndex = 16
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 6);
   EXPECT_EQ(ringBuffer.AvailableRead(), 4);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 2);
   EXPECT_EQ(ringBuffer.AvailableRead(), 8);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 2);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 0);
   EXPECT_EQ(ringBuffer.AvailableRead(), 10);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 0);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(ringBuffer.IsFull());
@@ -278,14 +278,14 @@ TEST(TestAudioRingBuffer, BasicShort2)
   EXPECT_EQ(ringBuffer.AvailableRead(), 0);
 
   int16_t in[4] = {1, 2, 3, 4};
-  int rv = ringBuffer.Write(MakeSpan(in, 4));
+  int rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 6);
   EXPECT_EQ(ringBuffer.AvailableRead(), 4);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -293,7 +293,7 @@ TEST(TestAudioRingBuffer, BasicShort2)
   EXPECT_EQ(ringBuffer.AvailableRead(), 8);
 
   int16_t out[4] = {};
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -304,14 +304,14 @@ TEST(TestAudioRingBuffer, BasicShort2)
   }
 
   // WriteIndex = 12
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 2);
   EXPECT_EQ(ringBuffer.AvailableRead(), 8);
 
-  rv = ringBuffer.Read(MakeSpan(out, 4));
+  rv = ringBuffer.Read(Span(out, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -321,7 +321,7 @@ TEST(TestAudioRingBuffer, BasicShort2)
     EXPECT_EQ(in[i], out[i]);
   }
 
-  rv = ringBuffer.Read(MakeSpan(out, 8));
+  rv = ringBuffer.Read(Span(out, 8));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -331,7 +331,7 @@ TEST(TestAudioRingBuffer, BasicShort2)
     EXPECT_EQ(in[i], out[i]);
   }
 
-  rv = ringBuffer.Read(MakeSpan(out, 8));
+  rv = ringBuffer.Read(Span(out, 8));
   EXPECT_EQ(rv, 0);
   EXPECT_TRUE(ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -342,28 +342,28 @@ TEST(TestAudioRingBuffer, BasicShort2)
   }
 
   // WriteIndex = 16
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 6);
   EXPECT_EQ(ringBuffer.AvailableRead(), 4);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 4);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 2);
   EXPECT_EQ(ringBuffer.AvailableRead(), 8);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 2);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(ringBuffer.IsFull());
   EXPECT_EQ(ringBuffer.AvailableWrite(), 0);
   EXPECT_EQ(ringBuffer.AvailableRead(), 10);
 
-  rv = ringBuffer.Write(MakeSpan(in, 4));
+  rv = ringBuffer.Write(Span(in, 4));
   EXPECT_EQ(rv, 0);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(ringBuffer.IsFull());
@@ -377,7 +377,7 @@ TEST(TestAudioRingBuffer, NoCopyFloat)
   ringBuffer.SetSampleFormat(AUDIO_FORMAT_FLOAT32);
 
   float in[8] = {.0, .1, .2, .3, .4, .5, .6, .7};
-  ringBuffer.Write(MakeSpan(in, 6));
+  ringBuffer.Write(Span(in, 6));
   //  v ReadIndex
   // [x0: .0, x1: .1, x2: .2, x3: .3, x4: .4,
   //  x5: .5, x6: .0, x7: .0, x8: .0, x9: .0, x10: .0]
@@ -399,7 +399,7 @@ TEST(TestAudioRingBuffer, NoCopyFloat)
     EXPECT_FLOAT_EQ(out[i], in[i]);
   }
 
-  ringBuffer.Write(MakeSpan(in, 8));
+  ringBuffer.Write(Span(in, 8));
   // Now the buffer contains:
   // [x0: .5, x1: .6, x2: .2, x3: .3, x4: .4,
   //  x5: .5, x6: .0, x7: .1, x8: .2, x9: .3, x10: .4
@@ -426,7 +426,7 @@ TEST(TestAudioRingBuffer, NoCopyShort)
   ringBuffer.SetSampleFormat(AUDIO_FORMAT_S16);
 
   short in[8] = {0, 1, 2, 3, 4, 5, 6, 7};
-  ringBuffer.Write(MakeSpan(in, 6));
+  ringBuffer.Write(Span(in, 6));
   //  v ReadIndex
   // [x0: 0, x1: 1, x2: 2, x3: 3, x4: 4,
   //  x5: 5, x6: 0, x7: 0, x8: 0, x9: 0, x10: 0]
@@ -448,7 +448,7 @@ TEST(TestAudioRingBuffer, NoCopyShort)
     EXPECT_EQ(out[i], in[i]);
   }
 
-  ringBuffer.Write(MakeSpan(in, 8));
+  ringBuffer.Write(Span(in, 8));
   // Now the buffer contains:
   // [x0: 5, x1: 6, x2: 2, x3: 3, x4: 4,
   //  x5: 5, x6: 0, x7: 1, x8: 2, x9: 3, x10: 4
@@ -475,7 +475,7 @@ TEST(TestAudioRingBuffer, NoCopyFloat2)
   ringBuffer.SetSampleFormat(AUDIO_FORMAT_FLOAT32);
 
   float in[8] = {.0, .1, .2, .3, .4, .5, .6, .7};
-  ringBuffer.Write(MakeSpan(in, 6));
+  ringBuffer.Write(Span(in, 6));
   //  v ReadIndex
   // [x0: .0, x1: .1, x2: .2, x3: .3, x4: .4,
   //  x5: .5, x6: .0, x7: .0, x8: .0, x9: .0, x10: .0]
@@ -525,7 +525,7 @@ TEST(TestAudioRingBuffer, NoCopyFloat2)
     EXPECT_FLOAT_EQ(out[i + 3], in[i + 3]);
   }
 
-  ringBuffer.Write(MakeSpan(in, 8));
+  ringBuffer.Write(Span(in, 8));
   // Now the buffer contains:
   // [x0: .5, x1: .6, x2: .7, x3: .3, x4: .4,
   //  x5: .5, x6: .0, x7: .1, x8: .2, x9: .3, x10: .4
@@ -607,7 +607,7 @@ TEST(TestAudioRingBuffer, NoCopyShort2)
   ringBuffer.SetSampleFormat(AUDIO_FORMAT_S16);
 
   short in[8] = {0, 1, 2, 3, 4, 5, 6, 7};
-  ringBuffer.Write(MakeSpan(in, 6));
+  ringBuffer.Write(Span(in, 6));
   //  v ReadIndex
   // [x0: 0, x1: 1, x2: 2, x3: 3, x4: 4,
   //  x5: 5, x6: 0, x7: 0, x8: 0, x9: 0, x10: 0]
@@ -657,7 +657,7 @@ TEST(TestAudioRingBuffer, NoCopyShort2)
     EXPECT_EQ(out[i + 3], in[i + 3]);
   }
 
-  ringBuffer.Write(MakeSpan(in, 8));
+  ringBuffer.Write(Span(in, 8));
   // Now the buffer contains:
   // [x0: 5, x1: 6, x2: 7, x3: 3, x4: 4,
   //  x5: 5, x6: 0, x7: 1, x8: 2, x9: 3, x10: 4
@@ -739,7 +739,7 @@ TEST(TestAudioRingBuffer, DiscardFloat)
   ringBuffer.SetSampleFormat(AUDIO_FORMAT_FLOAT32);
 
   float in[8] = {.0, .1, .2, .3, .4, .5, .6, .7};
-  ringBuffer.Write(MakeSpan(in, 8));
+  ringBuffer.Write(Span(in, 8));
 
   int rv = ringBuffer.Discard(3);
   EXPECT_EQ(rv, 3);
@@ -749,7 +749,7 @@ TEST(TestAudioRingBuffer, DiscardFloat)
   EXPECT_EQ(ringBuffer.AvailableRead(), 5);
 
   float out[8] = {};
-  rv = ringBuffer.Read(MakeSpan(out, 3));
+  rv = ringBuffer.Read(Span(out, 3));
   EXPECT_EQ(rv, 3);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -781,7 +781,7 @@ TEST(TestAudioRingBuffer, DiscardShort)
   ringBuffer.SetSampleFormat(AUDIO_FORMAT_S16);
 
   short in[8] = {0, 1, 2, 3, 4, 5, 6, 7};
-  ringBuffer.Write(MakeSpan(in, 8));
+  ringBuffer.Write(Span(in, 8));
 
   int rv = ringBuffer.Discard(3);
   EXPECT_EQ(rv, 3);
@@ -791,7 +791,7 @@ TEST(TestAudioRingBuffer, DiscardShort)
   EXPECT_EQ(ringBuffer.AvailableRead(), 5);
 
   short out[8] = {};
-  rv = ringBuffer.Read(MakeSpan(out, 3));
+  rv = ringBuffer.Read(Span(out, 3));
   EXPECT_EQ(rv, 3);
   EXPECT_TRUE(!ringBuffer.IsEmpty());
   EXPECT_TRUE(!ringBuffer.IsFull());
@@ -901,7 +901,7 @@ TEST(TestAudioRingBuffer, WriteFromRingShort)
   ringBuffer1.SetSampleFormat(AUDIO_FORMAT_S16);
 
   short in[8] = {0, 1, 2, 3, 4, 5, 6, 7};
-  int rv = ringBuffer1.Write(MakeSpan(in, 8));
+  int rv = ringBuffer1.Write(Span(in, 8));
   EXPECT_EQ(rv, 8);
 
   AudioRingBuffer ringBuffer2(11 * sizeof(short));
@@ -913,7 +913,7 @@ TEST(TestAudioRingBuffer, WriteFromRingShort)
   EXPECT_EQ(ringBuffer1.AvailableRead(), 8);
 
   short out[4] = {};
-  rv = ringBuffer2.Read(MakeSpan(out, 4));
+  rv = ringBuffer2.Read(Span(out, 4));
   for (int i = 0; i < rv; ++i) {
     EXPECT_EQ(out[i], in[i]);
   }
@@ -930,7 +930,7 @@ TEST(TestAudioRingBuffer, WriteFromRingShort)
   EXPECT_EQ(ringBuffer1.AvailableRead(), 4);
 
   short out2[8] = {};
-  rv = ringBuffer2.Read(MakeSpan(out2, 8));
+  rv = ringBuffer2.Read(Span(out2, 8));
   for (int i = 0; i < rv; ++i) {
     EXPECT_EQ(out2[i], in[i]);
   }
@@ -942,7 +942,7 @@ TEST(TestAudioRingBuffer, WriteFromRingFloat)
   ringBuffer1.SetSampleFormat(AUDIO_FORMAT_FLOAT32);
 
   float in[8] = {.0, .1, .2, .3, .4, .5, .6, .7};
-  int rv = ringBuffer1.Write(MakeSpan(in, 8));
+  int rv = ringBuffer1.Write(Span(in, 8));
   EXPECT_EQ(rv, 8);
 
   AudioRingBuffer ringBuffer2(11 * sizeof(float));
@@ -954,7 +954,7 @@ TEST(TestAudioRingBuffer, WriteFromRingFloat)
   EXPECT_EQ(ringBuffer1.AvailableRead(), 8);
 
   float out[4] = {};
-  rv = ringBuffer2.Read(MakeSpan(out, 4));
+  rv = ringBuffer2.Read(Span(out, 4));
   for (int i = 0; i < rv; ++i) {
     EXPECT_FLOAT_EQ(out[i], in[i]);
   }
@@ -971,7 +971,7 @@ TEST(TestAudioRingBuffer, WriteFromRingFloat)
   EXPECT_EQ(ringBuffer1.AvailableRead(), 4);
 
   float out2[8] = {};
-  rv = ringBuffer2.Read(MakeSpan(out2, 8));
+  rv = ringBuffer2.Read(Span(out2, 8));
   for (int i = 0; i < rv; ++i) {
     EXPECT_FLOAT_EQ(out2[i], in[i]);
   }
diff --git a/dom/media/mp4/MP4Demuxer.cpp b/dom/media/mp4/MP4Demuxer.cpp
index c0d14a6663be3..59bba1657704f 100644
--- a/dom/media/mp4/MP4Demuxer.cpp
+++ b/dom/media/mp4/MP4Demuxer.cpp
@@ -422,7 +422,7 @@ already_AddRefed<MediaRawData> MP4TrackDemuxer::GetNextSample() {
       }
     } else if (mType == kVP9 && !sample->mCrypto.IsEncrypted()) {
       bool keyframe = VPXDecoder::IsKeyframe(
-          MakeSpan<const uint8_t>(sample->Data(), sample->Size()),
+          Span<const uint8_t>(sample->Data(), sample->Size()),
           VPXDecoder::Codec::VP9);
       if (sample->mKeyframe != keyframe) {
         NS_WARNING(nsPrintfCString(
diff --git a/dom/media/platforms/agnostic/bytestreams/H264.cpp b/dom/media/platforms/agnostic/bytestreams/H264.cpp
index 3108f9d896041..74cccb0b801fe 100644
--- a/dom/media/platforms/agnostic/bytestreams/H264.cpp
+++ b/dom/media/platforms/agnostic/bytestreams/H264.cpp
@@ -1321,8 +1321,8 @@ bool H264::DecodeRecoverySEI(const mozilla::MediaByteBuffer* aSEI,
 
   WriteExtraData(
       extraData, aProfile, aConstraints, aLevel,
-      MakeSpan<const uint8_t>(encodedSPS->Elements(), encodedSPS->Length()),
-      MakeSpan<const uint8_t>(PPS, sizeof(PPS)));
+      Span<const uint8_t>(encodedSPS->Elements(), encodedSPS->Length()),
+      Span<const uint8_t>(PPS, sizeof(PPS)));
 
   return extraData.forget();
 }
diff --git a/dom/media/platforms/android/AndroidDataEncoder.cpp b/dom/media/platforms/android/AndroidDataEncoder.cpp
index 7b40e9003d135..43a8be1fa51ef 100644
--- a/dom/media/platforms/android/AndroidDataEncoder.cpp
+++ b/dom/media/platforms/android/AndroidDataEncoder.cpp
@@ -243,7 +243,7 @@ static RefPtr<MediaByteBuffer> ExtractCodecConfig(
   // Convert to avcC.
   nsTArray<AnnexB::NALEntry> paramSets;
   AnnexB::ParseNALEntries(
-      MakeSpan<const uint8_t>(annexB->Elements(), annexB->Length()), paramSets);
+      Span<const uint8_t>(annexB->Elements(), annexB->Length()), paramSets);
 
   auto avcc = MakeRefPtr<MediaByteBuffer>();
   AnnexB::NALEntry& sps = paramSets.ElementAt(0);
@@ -251,8 +251,8 @@ static RefPtr<MediaByteBuffer> ExtractCodecConfig(
   const uint8_t* spsPtr = annexB->Elements() + sps.mOffset;
   H264::WriteExtraData(
       avcc, spsPtr[1], spsPtr[2], spsPtr[3],
-      MakeSpan<const uint8_t>(spsPtr, sps.mSize),
-      MakeSpan<const uint8_t>(annexB->Elements() + pps.mOffset, pps.mSize));
+      Span<const uint8_t>(spsPtr, sps.mSize),
+      Span<const uint8_t>(annexB->Elements() + pps.mOffset, pps.mSize));
   return avcc;
 }
 
diff --git a/dom/media/platforms/wmf/WMFVideoMFTManager.cpp b/dom/media/platforms/wmf/WMFVideoMFTManager.cpp
index c4b6179d27e0e..e1058fc8a3bfd 100644
--- a/dom/media/platforms/wmf/WMFVideoMFTManager.cpp
+++ b/dom/media/platforms/wmf/WMFVideoMFTManager.cpp
@@ -727,7 +727,7 @@ WMFVideoMFTManager::Input(MediaRawData* aSample) {
     // Check the VP9 profile. the VP9 MFT can only handle correctly profile 0
     // and 2 (yuv420 8/10/12 bits)
     int profile =
-        VPXDecoder::GetVP9Profile(MakeSpan(aSample->Data(), aSample->Size()));
+        VPXDecoder::GetVP9Profile(Span(aSample->Data(), aSample->Size()));
     if (profile != 0 && profile != 2) {
       return E_FAIL;
     }
diff --git a/dom/media/platforms/wrappers/MediaChangeMonitor.cpp b/dom/media/platforms/wrappers/MediaChangeMonitor.cpp
index 2c8999c10b0c1..2bb5ed7f7b39b 100644
--- a/dom/media/platforms/wrappers/MediaChangeMonitor.cpp
+++ b/dom/media/platforms/wrappers/MediaChangeMonitor.cpp
@@ -169,7 +169,7 @@ class VPXChangeMonitor : public MediaChangeMonitor::CodecChangeMonitor {
       return NS_OK;
     }
 
-    auto dataSpan = MakeSpan<const uint8_t>(aSample->Data(), aSample->Size());
+    auto dataSpan = Span<const uint8_t>(aSample->Data(), aSample->Size());
 
     VPXDecoder::VPXStreamInfo info;
     if (!VPXDecoder::GetStreamInfo(dataSpan, info, mCodec)) {
diff --git a/dom/media/webaudio/AudioNodeTrack.cpp b/dom/media/webaudio/AudioNodeTrack.cpp
index ea939d3d39509..47e5025aab9c0 100644
--- a/dom/media/webaudio/AudioNodeTrack.cpp
+++ b/dom/media/webaudio/AudioNodeTrack.cpp
@@ -533,10 +533,8 @@ void AudioNodeTrack::ProcessInput(GraphTime aFrom, GraphTime aTo,
                               &finished);
       } else {
         mEngine->ProcessBlocksOnPorts(
-            this, aFrom,
-            MakeSpan(mInputChunks.Elements(), mEngine->InputCount()),
-            MakeSpan(mLastChunks.Elements(), mEngine->OutputCount()),
-            &finished);
+            this, aFrom, Span(mInputChunks.Elements(), mEngine->InputCount()),
+            Span(mLastChunks.Elements(), mEngine->OutputCount()), &finished);
       }
     }
     for (uint16_t i = 0; i < outputCount; ++i) {
diff --git a/dom/media/webaudio/AudioWorkletNode.cpp b/dom/media/webaudio/AudioWorkletNode.cpp
index 92e0a62f52d5b..52dc517737f52 100644
--- a/dom/media/webaudio/AudioWorkletNode.cpp
+++ b/dom/media/webaudio/AudioWorkletNode.cpp
@@ -85,8 +85,8 @@ class WorkletNodeEngine final : public AudioNodeEngine {
                     bool* aFinished) override {
     MOZ_ASSERT(InputCount() <= 1);
     MOZ_ASSERT(OutputCount() <= 1);
-    ProcessBlocksOnPorts(aTrack, aFrom, MakeSpan(&aInput, InputCount()),
-                         MakeSpan(aOutput, OutputCount()), aFinished);
+    ProcessBlocksOnPorts(aTrack, aFrom, Span(&aInput, InputCount()),
+                         Span(aOutput, OutputCount()), aFinished);
   }
 
   void ProcessBlocksOnPorts(AudioNodeTrack* aTrack, GraphTime aFrom,
diff --git a/dom/media/webm/WebMDemuxer.cpp b/dom/media/webm/WebMDemuxer.cpp
index 2ea5ba8296eba..ccffa378f18ea 100644
--- a/dom/media/webm/WebMDemuxer.cpp
+++ b/dom/media/webm/WebMDemuxer.cpp
@@ -638,8 +638,8 @@ nsresult WebMDemuxer::GetNextPacket(TrackInfo::TrackType aType,
             packetEncryption == NESTEGG_PACKET_HAS_SIGNAL_BYTE_UNENCRYPTED ||
                 packetEncryption == NESTEGG_PACKET_HAS_SIGNAL_BYTE_FALSE,
             "Unencrypted packet expected");
-        auto sample = MakeSpan(data, length);
-        auto alphaSample = MakeSpan(alphaData, alphaLength);
+        auto sample = Span(data, length);
+        auto alphaSample = Span(alphaData, alphaLength);
 
         switch (mVideoCodec) {
           case NESTEGG_CODEC_VP8:
diff --git a/dom/presentation/PresentationRequest.cpp b/dom/presentation/PresentationRequest.cpp
index 690f286273fa4..bf98002a5645f 100644
--- a/dom/presentation/PresentationRequest.cpp
+++ b/dom/presentation/PresentationRequest.cpp
@@ -199,7 +199,7 @@ already_AddRefed<Promise> PresentationRequest::StartWithDevice(
   char buffer[NSID_LENGTH];
   uuid.ToProvidedString(buffer);
   nsAutoString id;
-  CopyASCIItoUTF16(MakeSpan(buffer, NSID_LENGTH - 1), id);
+  CopyASCIItoUTF16(Span(buffer, NSID_LENGTH - 1), id);
 
   nsCOMPtr<nsIPresentationService> service =
       do_GetService(PRESENTATION_SERVICE_CONTRACTID);
diff --git a/dom/quota/test/gtest/TestEncryptedStream.cpp b/dom/quota/test/gtest/TestEncryptedStream.cpp
index 9302596c07e92..c076cd577e578 100644
--- a/dom/quota/test/gtest/TestEncryptedStream.cpp
+++ b/dom/quota/test/gtest/TestEncryptedStream.cpp
@@ -412,7 +412,7 @@ TEST_P(ParametrizedCryptTest, DummyCipherStrategy_CheckOutput) {
     return;
   }
 
-  const auto encryptedDataSpan = AsBytes(MakeSpan(encryptedDataStream->Data()));
+  const auto encryptedDataSpan = AsBytes(Span(encryptedDataStream->Data()));
 
   const auto plainTestData = MakeTestData(testParams.DataSize());
   auto encryptedBlock = EncryptedBlock<DummyCipherStrategy::BlockPrefixLength,
@@ -420,7 +420,7 @@ TEST_P(ParametrizedCryptTest, DummyCipherStrategy_CheckOutput) {
       testParams.BlockSize(),
   };
   for (auto [encryptedRemainder, plainRemainder] =
-           std::pair(encryptedDataSpan, MakeSpan(plainTestData));
+           std::pair(encryptedDataSpan, Span(plainTestData));
        !encryptedRemainder.IsEmpty();) {
     const auto [currentBlock, newEncryptedRemainder] =
         encryptedRemainder.SplitAt(testParams.BlockSize());
diff --git a/dom/script/ScriptLoadHandler.cpp b/dom/script/ScriptLoadHandler.cpp
index f79a942e74cc5..d0654ad9fff5d 100644
--- a/dom/script/ScriptLoadHandler.cpp
+++ b/dom/script/ScriptLoadHandler.cpp
@@ -66,8 +66,8 @@ nsresult ScriptLoadHandler::DecodeRawDataHelper(const uint8_t* aData,
   }
 
   size_t written = ScriptDecoding<Unit>::DecodeInto(
-      mDecoder, MakeSpan(aData, aDataLength),
-      MakeSpan(scriptText.begin() + haveRead, needed.value()), aEndOfStream);
+      mDecoder, Span(aData, aDataLength),
+      Span(scriptText.begin() + haveRead, needed.value()), aEndOfStream);
   MOZ_ASSERT(written <= needed.value());
 
   haveRead += written;
@@ -182,7 +182,7 @@ bool ScriptLoadHandler::TrySetDecoder(nsIIncrementalStreamLoader* aLoader,
   // Do BOM detection.
   const Encoding* encoding;
   size_t bomLength;
-  Tie(encoding, bomLength) = Encoding::ForBOM(MakeSpan(aData, aDataLength));
+  Tie(encoding, bomLength) = Encoding::ForBOM(Span(aData, aDataLength));
   if (encoding) {
     mDecoder = encoding->NewDecoderWithBOMRemoval();
     return true;
diff --git a/dom/script/ScriptLoader.cpp b/dom/script/ScriptLoader.cpp
index be436dfa0e062..355f461fa6838 100644
--- a/dom/script/ScriptLoader.cpp
+++ b/dom/script/ScriptLoader.cpp
@@ -3334,7 +3334,7 @@ static nsresult ConvertToUnicode(nsIChannel* aChannel, const uint8_t* aData,
     return NS_OK;
   }
 
-  auto data = MakeSpan(aData, aLength);
+  auto data = Span(aData, aLength);
 
   // The encoding info precedence is as follows from high to low:
   // The BOM
@@ -3398,7 +3398,7 @@ static nsresult ConvertToUnicode(nsIChannel* aChannel, const uint8_t* aData,
 
   signalOOM.release();
   aLengthOut = ScriptDecoding<Unit>::DecodeInto(
-      unicodeDecoder, data, MakeSpan(aBufOut, bufferLength.value()),
+      unicodeDecoder, data, Span(aBufOut, bufferLength.value()),
       /* aEndOfSource = */ true);
   return NS_OK;
 }
diff --git a/dom/system/IOUtils.cpp b/dom/system/IOUtils.cpp
index b02fc91fa8585..8e01d2a55e620 100644
--- a/dom/system/IOUtils.cpp
+++ b/dom/system/IOUtils.cpp
@@ -268,7 +268,7 @@ already_AddRefed<Promise> IOUtils::WriteAtomic(
 
   // Process arguments.
   aData.ComputeState();
-  auto buf = Buffer<uint8_t>::CopyFrom(MakeSpan(aData.Data(), aData.Length()));
+  auto buf = Buffer<uint8_t>::CopyFrom(Span(aData.Data(), aData.Length()));
   if (buf.isNothing()) {
     promise->MaybeRejectWithOperationError("Out of memory");
     return promise.forget();
diff --git a/dom/webauthn/WebAuthnUtil.cpp b/dom/webauthn/WebAuthnUtil.cpp
index 2fcc7eda2640f..7d1a4d66737f7 100644
--- a/dom/webauthn/WebAuthnUtil.cpp
+++ b/dom/webauthn/WebAuthnUtil.cpp
@@ -260,7 +260,7 @@ nsresult U2FDecomposeSignResponse(const CryptoBuffer& aResponse,
     return NS_ERROR_INVALID_ARG;
   }
 
-  Span<const uint8_t> rspView = MakeSpan(aResponse);
+  Span<const uint8_t> rspView = Span(aResponse);
   aFlags = rspView[0];
 
   if (NS_WARN_IF(!aCounterBuf.AppendElements(rspView.FromTo(1, 5),
diff --git a/dom/xhr/XMLHttpRequestMainThread.cpp b/dom/xhr/XMLHttpRequestMainThread.cpp
index a9485bac4b411..fd4d49189d8a3 100644
--- a/dom/xhr/XMLHttpRequestMainThread.cpp
+++ b/dom/xhr/XMLHttpRequestMainThread.cpp
@@ -1590,7 +1590,7 @@ nsresult XMLHttpRequestMainThread::StreamReaderFunc(
     MOZ_ASSERT(!xmlHttpRequest->mResponseXML,
                "We shouldn't be parsing a doc here");
     rv = xmlHttpRequest->AppendToResponseText(
-        AsBytes(MakeSpan(fromRawSegment, count)));
+        AsBytes(Span(fromRawSegment, count)));
     if (NS_WARN_IF(NS_FAILED(rv))) {
       return rv;
     }
@@ -1604,7 +1604,7 @@ nsresult XMLHttpRequestMainThread::StreamReaderFunc(
     // stream is not supported.
     nsCOMPtr<nsIInputStream> copyStream;
     rv = NS_NewByteInputStream(getter_AddRefs(copyStream),
-                               MakeSpan(fromRawSegment, count),
+                               Span(fromRawSegment, count),
                                NS_ASSIGNMENT_DEPEND);
 
     if (NS_SUCCEEDED(rv) && xmlHttpRequest->mXMLParserStreamListener) {
diff --git a/extensions/spellcheck/hunspell/glue/mozHunspell.cpp b/extensions/spellcheck/hunspell/glue/mozHunspell.cpp
index 19ea35e2c1269..5cb72fdb75962 100644
--- a/extensions/spellcheck/hunspell/glue/mozHunspell.cpp
+++ b/extensions/spellcheck/hunspell/glue/mozHunspell.cpp
@@ -356,7 +356,7 @@ nsresult mozHunspell::ConvertCharset(const nsAString& aStr, std::string& aDst) {
     return NS_ERROR_NOT_INITIALIZED;
   }
 
-  auto src = MakeSpan(aStr.BeginReading(), aStr.Length());
+  auto src = Span(aStr.BeginReading(), aStr.Length());
   CheckedInt<size_t> needed =
       mEncoder->MaxBufferLengthFromUTF16WithoutReplacement(src.Length());
   if (!needed.isValid()) {
@@ -366,7 +366,7 @@ nsresult mozHunspell::ConvertCharset(const nsAString& aStr, std::string& aDst) {
   aDst.resize(needed.value());
 
   char* dstPtr = &aDst[0];
-  auto dst = MakeSpan(reinterpret_cast<uint8_t*>(dstPtr), needed.value());
+  auto dst = Span(reinterpret_cast<uint8_t*>(dstPtr), needed.value());
 
   uint32_t result;
   size_t read;
diff --git a/extensions/spellcheck/hunspell/src/csutil.cxx b/extensions/spellcheck/hunspell/src/csutil.cxx
index deb1a4e25b4b4..014ddaecbca18 100644
--- a/extensions/spellcheck/hunspell/src/csutil.cxx
+++ b/extensions/spellcheck/hunspell/src/csutil.cxx
@@ -2316,10 +2316,10 @@ struct cs_info* get_current_cs(const std::string& es) {
       char16_t uni[2];
       char16_t uniCased;
       uint8_t destination[4];
-      auto src1 = MakeSpan(&source, 1);
-      auto dst1 = MakeSpan(uni);
-      auto src2 = MakeSpan(&uniCased, 1);
-      auto dst2 = MakeSpan(destination);
+      auto src1 = Span(&source, 1);
+      auto dst1 = Span(uni);
+      auto src2 = Span(&uniCased, 1);
+      auto dst2 = Span(destination);
 
       uint32_t result;
       size_t read;
diff --git a/gfx/layers/TextureSync.cpp b/gfx/layers/TextureSync.cpp
index 7c3847b079a08..6a0b17f206aff 100644
--- a/gfx/layers/TextureSync.cpp
+++ b/gfx/layers/TextureSync.cpp
@@ -123,8 +123,8 @@ void TextureSync::HandleWaitForTexturesMessage(MachReceiveMessage* rmsg,
       (rmsg->GetDataLength() - sizeof(WaitForTexturesRequest)) /
       sizeof(uint64_t);
 
-  bool success = WaitForTextureIdsToUnlock(
-      req->pid, MakeSpan<uint64_t>(textureIds, textureIdsLength));
+  bool success =
+      WaitForTextureIdsToUnlock(req->pid, Span(textureIds, textureIdsLength));
 
   if (!success) {
     LOG_ERROR("Waiting for textures to unlock failed.\n");
@@ -219,8 +219,7 @@ void TextureSync::UpdateTextureLocks(base::ProcessId aProcessId) {
 bool TextureSync::WaitForTextures(base::ProcessId aProcessId,
                                   const nsTArray<uint64_t>& textureIds) {
   if (aProcessId == base::GetCurrentProcId()) {
-    bool success =
-        WaitForTextureIdsToUnlock(aProcessId, MakeSpan<uint64_t>(textureIds));
+    bool success = WaitForTextureIdsToUnlock(aProcessId, Span(textureIds));
     if (!success) {
       LOG_ERROR("Failed waiting for textures to unlock.\n");
     }
diff --git a/gfx/thebes/gfxSVGGlyphs.cpp b/gfx/thebes/gfxSVGGlyphs.cpp
index a2901ab7a6865..d4b0becc0b5cc 100644
--- a/gfx/thebes/gfxSVGGlyphs.cpp
+++ b/gfx/thebes/gfxSVGGlyphs.cpp
@@ -334,7 +334,7 @@ static nsresult CreateBufferedStream(const uint8_t* aBuffer, uint32_t aBufLen,
   nsCOMPtr<nsIInputStream> stream;
   nsresult rv = NS_NewByteInputStream(
       getter_AddRefs(stream),
-      MakeSpan(reinterpret_cast<const char*>(aBuffer), aBufLen),
+      Span(reinterpret_cast<const char*>(aBuffer), aBufLen),
       NS_ASSIGNMENT_DEPEND);
   NS_ENSURE_SUCCESS(rv, rv);
 
diff --git a/image/imgTools.cpp b/image/imgTools.cpp
index 2328d580fa65c..b8cd5dc2d238a 100644
--- a/image/imgTools.cpp
+++ b/image/imgTools.cpp
@@ -334,7 +334,7 @@ imgTools::DecodeImageFromBuffer(const char* aBuffer, uint32_t aSize,
   // Let's create a temporary inputStream.
   nsCOMPtr<nsIInputStream> stream;
   nsresult rv = NS_NewByteInputStream(
-      getter_AddRefs(stream), MakeSpan(aBuffer, aSize), NS_ASSIGNMENT_DEPEND);
+      getter_AddRefs(stream), Span(aBuffer, aSize), NS_ASSIGNMENT_DEPEND);
   NS_ENSURE_SUCCESS(rv, rv);
   MOZ_ASSERT(stream);
   MOZ_ASSERT(NS_InputStreamIsBuffered(stream));
diff --git a/intl/uconv/nsConverterInputStream.cpp b/intl/uconv/nsConverterInputStream.cpp
index 4c857f5875161..d581164eb017d 100644
--- a/intl/uconv/nsConverterInputStream.cpp
+++ b/intl/uconv/nsConverterInputStream.cpp
@@ -196,8 +196,8 @@ uint32_t nsConverterInputStream::Fill(nsresult* aErrorCode) {
                "mByteData is lying to us somewhere");
 
   // Now convert as much of the byte buffer to unicode as possible
-  auto src = AsBytes(MakeSpan(mByteData));
-  auto dst = MakeSpan(mUnicharData);
+  auto src = AsBytes(Span(mByteData));
+  auto dst = Span(mUnicharData);
   // mUnicharData.Length() is the buffer length, not the fill status.
   // mUnicharDataLength reflects the current fill status.
   mUnicharDataLength = 0;
diff --git a/intl/uconv/nsConverterOutputStream.cpp b/intl/uconv/nsConverterOutputStream.cpp
index 7b397dff36ad4..7ad7acfda2c0b 100644
--- a/intl/uconv/nsConverterOutputStream.cpp
+++ b/intl/uconv/nsConverterOutputStream.cpp
@@ -51,8 +51,8 @@ nsConverterOutputStream::Write(uint32_t aCount, const char16_t* aChars,
   }
   MOZ_ASSERT(mConverter, "Must have a converter when not closed");
   uint8_t buffer[4096];
-  auto dst = MakeSpan(buffer);
-  auto src = MakeSpan(aChars, aCount);
+  auto dst = Span(buffer);
+  auto src = Span(aChars, aCount);
   for (;;) {
     uint32_t result;
     size_t read;
@@ -92,7 +92,7 @@ nsConverterOutputStream::Flush() {
   // needs to be large enough for an additional NCR,
   // though.
   uint8_t buffer[12];
-  auto dst = MakeSpan(buffer);
+  auto dst = Span(buffer);
   Span<char16_t> src(nullptr);
   uint32_t result;
   size_t read;
diff --git a/intl/uconv/nsScriptableUConv.cpp b/intl/uconv/nsScriptableUConv.cpp
index a853fcbd17a55..942da4e7dcd15 100644
--- a/intl/uconv/nsScriptableUConv.cpp
+++ b/intl/uconv/nsScriptableUConv.cpp
@@ -42,8 +42,8 @@ nsScriptableUnicodeConverter::ConvertFromUnicode(const nsAString& aSrc,
     return NS_ERROR_OUT_OF_MEMORY;
   }
 
-  auto src = MakeSpan(aSrc);
-  auto dst = AsWritableBytes(MakeSpan(_retval));
+  auto src = Span(aSrc);
+  auto dst = AsWritableBytes(Span(_retval));
   size_t totalWritten = 0;
   for (;;) {
     uint32_t result;
@@ -122,7 +122,7 @@ nsScriptableUnicodeConverter::ConvertToUnicode(const nsACString& aSrc,
   }
 
   auto src =
-      MakeSpan(reinterpret_cast<const uint8_t*>(aSrc.BeginReading()), length);
+      Span(reinterpret_cast<const uint8_t*>(aSrc.BeginReading()), length);
   uint32_t result;
   size_t read;
   size_t written;
@@ -167,8 +167,8 @@ nsScriptableUnicodeConverter::ConvertToByteArray(const nsAString& aString,
   if (!data) {
     return NS_ERROR_OUT_OF_MEMORY;
   }
-  auto src = MakeSpan(aString);
-  auto dst = MakeSpan(data, needed.value());
+  auto src = Span(aString);
+  auto dst = Span(data, needed.value());
   size_t totalWritten = 0;
   for (;;) {
     uint32_t result;
diff --git a/ipc/glue/GeckoChildProcessHost.cpp b/ipc/glue/GeckoChildProcessHost.cpp
index 84f1424adc20b..92937731c49af 100644
--- a/ipc/glue/GeckoChildProcessHost.cpp
+++ b/ipc/glue/GeckoChildProcessHost.cpp
@@ -854,8 +854,8 @@ void BaseProcessLauncher::GetChildLogName(const char* origLogName,
     std::wstring resolvedPath(NS_ConvertUTF8toUTF16(absPath).get());
     if (widget::WinUtils::ResolveJunctionPointsAndSymLinks(resolvedPath)) {
       AppendUTF16toUTF8(
-          MakeSpan(reinterpret_cast<const char16_t*>(resolvedPath.data()),
-                   resolvedPath.size()),
+          Span(reinterpret_cast<const char16_t*>(resolvedPath.data()),
+               resolvedPath.size()),
           buffer);
     } else
 #  endif
diff --git a/js/src/builtin/TestingFunctions.cpp b/js/src/builtin/TestingFunctions.cpp
index 41e9d578f91d0..8e5a282ef82a8 100644
--- a/js/src/builtin/TestingFunctions.cpp
+++ b/js/src/builtin/TestingFunctions.cpp
@@ -119,8 +119,8 @@ using namespace js;
 using mozilla::ArrayLength;
 using mozilla::AssertedCast;
 using mozilla::AsWritableChars;
-using mozilla::MakeSpan;
 using mozilla::Maybe;
+using mozilla::Span;
 using mozilla::Tie;
 using mozilla::Tuple;
 
@@ -5752,7 +5752,7 @@ static bool EncodeAsUtf8InBuffer(JSContext* cx, unsigned argc, Value* vp) {
   }
 
   Maybe<Tuple<size_t, size_t>> amounts = JS_EncodeStringToUTF8BufferPartial(
-      cx, args[0].toString(), AsWritableChars(MakeSpan(data, length)));
+      cx, args[0].toString(), AsWritableChars(Span(data, length)));
   if (!amounts) {
     ReportOutOfMemory(cx);
     return false;
diff --git a/js/src/builtin/intl/DisplayNames.cpp b/js/src/builtin/intl/DisplayNames.cpp
index fdef775bebbfe..63469869759a9 100644
--- a/js/src/builtin/intl/DisplayNames.cpp
+++ b/js/src/builtin/intl/DisplayNames.cpp
@@ -771,9 +771,8 @@ static JSString* GetWeekdayDisplayName(JSContext* cx,
       UCAL_MONDAY, UCAL_TUESDAY,  UCAL_WEDNESDAY, UCAL_THURSDAY,
       UCAL_FRIDAY, UCAL_SATURDAY, UCAL_SUNDAY};
 
-  ListObject* names =
-      GetDateTimeDisplayNames(cx, displayNames, locale, calendar, symbolType,
-                              mozilla::MakeSpan(indices));
+  ListObject* names = GetDateTimeDisplayNames(
+      cx, displayNames, locale, calendar, symbolType, mozilla::Span(indices));
   if (!names) {
     return nullptr;
   }
@@ -823,9 +822,8 @@ static JSString* GetMonthDisplayName(
       UCAL_SEPTEMBER, UCAL_OCTOBER,  UCAL_NOVEMBER, UCAL_DECEMBER,
       UCAL_UNDECIMBER};
 
-  ListObject* names =
-      GetDateTimeDisplayNames(cx, displayNames, locale, calendar, symbolType,
-                              mozilla::MakeSpan(indices));
+  ListObject* names = GetDateTimeDisplayNames(
+      cx, displayNames, locale, calendar, symbolType, mozilla::Span(indices));
   if (!names) {
     return nullptr;
   }
@@ -876,9 +874,8 @@ static JSString* GetQuarterDisplayName(JSContext* cx,
   // ICU doesn't provide an enum for quarters.
   static constexpr int32_t indices[] = {0, 1, 2, 3};
 
-  ListObject* names =
-      GetDateTimeDisplayNames(cx, displayNames, locale, calendar, symbolType,
-                              mozilla::MakeSpan(indices));
+  ListObject* names = GetDateTimeDisplayNames(
+      cx, displayNames, locale, calendar, symbolType, mozilla::Span(indices));
   if (!names) {
     return nullptr;
   }
@@ -905,9 +902,8 @@ static JSString* GetDayPeriodDisplayName(
 
   static constexpr int32_t indices[] = {UCAL_AM, UCAL_PM};
 
-  ListObject* names =
-      GetDateTimeDisplayNames(cx, displayNames, locale, calendar, symbolType,
-                              mozilla::MakeSpan(indices));
+  ListObject* names = GetDateTimeDisplayNames(
+      cx, displayNames, locale, calendar, symbolType, mozilla::Span(indices));
   if (!names) {
     return nullptr;
   }
diff --git a/js/src/builtin/intl/LanguageTag.cpp b/js/src/builtin/intl/LanguageTag.cpp
index 43caa48cfa021..d5d75c5333e6b 100644
--- a/js/src/builtin/intl/LanguageTag.cpp
+++ b/js/src/builtin/intl/LanguageTag.cpp
@@ -463,7 +463,7 @@ bool LanguageTag::canonicalizeUnicodeExtension(
   JS_TRY_VAR_OR_RETURN_FALSE(
       cx, ok,
       LanguageTagParser::parseUnicodeExtension(
-          cx, mozilla::MakeSpan(extension, length), attributes, keywords));
+          cx, mozilla::Span(extension, length), attributes, keywords));
   MOZ_ASSERT(ok, "unexpected invalid Unicode extension subtag");
 
   auto attributesLessOrEqual = [extension](const Attribute& a,
@@ -756,7 +756,7 @@ bool LanguageTag::canonicalizeTransformExtension(
   JS_TRY_VAR_OR_RETURN_FALSE(
       cx, ok,
       LanguageTagParser::parseTransformExtension(
-          cx, mozilla::MakeSpan(extension, length), tag, fields));
+          cx, mozilla::Span(extension, length), tag, fields));
   MOZ_ASSERT(ok, "unexpected invalid transform extension subtag");
 
   auto tfieldLessOrEqual = [extension](const TField& a, const TField& b) {
diff --git a/js/src/builtin/intl/LanguageTag.h b/js/src/builtin/intl/LanguageTag.h
index bdcaf9fec3530..c036629e68d3c 100644
--- a/js/src/builtin/intl/LanguageTag.h
+++ b/js/src/builtin/intl/LanguageTag.h
@@ -479,10 +479,10 @@ class MOZ_STACK_CLASS LanguageTagParser final {
     size_t length = tok.length();
     if (locale_.is<const JS::Latin1Char*>()) {
       using T = const JS::Latin1Char;
-      subtag.set(mozilla::MakeSpan(locale_.as<T*>() + index, length));
+      subtag.set(mozilla::Span(locale_.as<T*>() + index, length));
     } else {
       using T = const char16_t;
-      subtag.set(mozilla::MakeSpan(locale_.as<T*>() + index, length));
+      subtag.set(mozilla::Span(locale_.as<T*>() + index, length));
     }
   }
 
diff --git a/js/src/builtin/intl/Locale.cpp b/js/src/builtin/intl/Locale.cpp
index 25d730032c9fb..14a571776a7ec 100644
--- a/js/src/builtin/intl/Locale.cpp
+++ b/js/src/builtin/intl/Locale.cpp
@@ -1391,8 +1391,8 @@ bool js::intl_ValidateAndCanonicalizeUnicodeExtensionType(JSContext* cx,
   intl::AsciiToLowerCase(unicodeTypeChars.get(), unicodeTypeLength,
                          unicodeTypeChars.get());
 
-  auto key = mozilla::MakeSpan(unicodeKey, UnicodeKeyLength);
-  auto type = mozilla::MakeSpan(unicodeTypeChars.get(), unicodeTypeLength);
+  auto key = mozilla::Span(unicodeKey, UnicodeKeyLength);
+  auto type = mozilla::Span(unicodeTypeChars.get(), unicodeTypeLength);
 
   // Search if there's a replacement for the current Unicode keyword.
   JSString* result;
diff --git a/js/src/ctypes/CTypes.cpp b/js/src/ctypes/CTypes.cpp
index 617c5d79f1594..d22a86f6a35d2 100644
--- a/js/src/ctypes/CTypes.cpp
+++ b/js/src/ctypes/CTypes.cpp
@@ -3424,7 +3424,7 @@ static bool ImplicitConvert(JSContext* cx, HandleValue val,
             }
 
             nbytes = JS::DeflateStringToUTF8Buffer(
-                sourceLinear, mozilla::MakeSpan(*charBuffer, nbytes));
+                sourceLinear, mozilla::Span(*charBuffer, nbytes));
             (*charBuffer)[nbytes] = '\0';
             *freePointer = true;
             break;
@@ -3546,7 +3546,7 @@ static bool ImplicitConvert(JSContext* cx, HandleValue val,
 
             char* charBuffer = static_cast<char*>(buffer);
             nbytes = JS::DeflateStringToUTF8Buffer(
-                sourceLinear, mozilla::MakeSpan(charBuffer, nbytes));
+                sourceLinear, mozilla::Span(charBuffer, nbytes));
 
             if (targetLength > nbytes) {
               charBuffer[nbytes] = '\0';
diff --git a/js/src/ctypes/Library.cpp b/js/src/ctypes/Library.cpp
index 9455b1c956f4b..6ce974806140e 100644
--- a/js/src/ctypes/Library.cpp
+++ b/js/src/ctypes/Library.cpp
@@ -159,7 +159,7 @@ JSObject* Library::Create(JSContext* cx, HandleValue path,
     }
 
     nbytes = JS::DeflateStringToUTF8Buffer(
-        pathStr, mozilla::MakeSpan(pathBytes.get(), nbytes));
+        pathStr, mozilla::Span(pathBytes.get(), nbytes));
     pathBytes[nbytes] = 0;
   }
 
diff --git a/js/src/frontend/Frontend2.cpp b/js/src/frontend/Frontend2.cpp
index 70c4a90937086..6b717d11f3351 100644
--- a/js/src/frontend/Frontend2.cpp
+++ b/js/src/frontend/Frontend2.cpp
@@ -9,7 +9,7 @@
 #include "mozilla/Maybe.h"                  // mozilla::Maybe
 #include "mozilla/OperatorNewExtensions.h"  // mozilla::KnownNotNull
 #include "mozilla/Range.h"                  // mozilla::Range
-#include "mozilla/Span.h"                   // mozilla::{Span, MakeSpan}
+#include "mozilla/Span.h"                   // mozilla::{Span, Span}
 #include "mozilla/Variant.h"                // mozilla::AsVariant
 
 #include <stddef.h>  // size_t
@@ -333,8 +333,8 @@ UniquePtr<ImmutableScriptData> ConvertImmutableScriptData(
       smooshScriptData.nslots, GCThingIndex(smooshScriptData.body_scope_index),
       smooshScriptData.num_ic_entries, smooshScriptData.num_bytecode_type_sets,
       isFunction, smooshScriptData.fun_length,
-      mozilla::MakeSpan(smooshScriptData.bytecode.data,
-                        smooshScriptData.bytecode.len),
+      mozilla::Span(smooshScriptData.bytecode.data,
+                    smooshScriptData.bytecode.len),
       mozilla::Span<const SrcNote>(), mozilla::Span<const uint32_t>(),
       scopeNotes, mozilla::Span<const TryNote>());
 }
diff --git a/js/src/frontend/SwitchEmitter.cpp b/js/src/frontend/SwitchEmitter.cpp
index 7c85dd5cc0b1c..95160ce885eae 100644
--- a/js/src/frontend/SwitchEmitter.cpp
+++ b/js/src/frontend/SwitchEmitter.cpp
@@ -382,7 +382,7 @@ bool SwitchEmitter::emitEnd() {
     // Allocate resume index range.
     uint32_t firstResumeIndex = 0;
     mozilla::Span<BytecodeOffset> offsets =
-        mozilla::MakeSpan(caseOffsets_.begin(), caseOffsets_.end());
+        mozilla::Span(caseOffsets_.begin(), caseOffsets_.end());
     if (!bce_->allocateResumeIndexRange(offsets, &firstResumeIndex)) {
       return false;
     }
diff --git a/js/src/frontend/TokenStream.cpp b/js/src/frontend/TokenStream.cpp
index b0f877bb8e4ad..8613bb8a10f1c 100644
--- a/js/src/frontend/TokenStream.cpp
+++ b/js/src/frontend/TokenStream.cpp
@@ -55,9 +55,9 @@ using mozilla::IsAsciiDigit;
 using mozilla::IsAsciiHexDigit;
 using mozilla::IsTrailingUnit;
 using mozilla::MakeScopeExit;
-using mozilla::MakeSpan;
 using mozilla::Maybe;
 using mozilla::PointerRangeSize;
+using mozilla::Span;
 using mozilla::Utf8Unit;
 
 using JS::ReadOnlyCompileOptions;
@@ -2248,7 +2248,7 @@ MOZ_MUST_USE bool TokenStreamSpecific<Unit, AnyCharsAccess>::identifierName(
       }
     }
 
-    atom = atomizeSourceChars(MakeSpan(chars, length));
+    atom = atomizeSourceChars(Span(chars, length));
   }
   if (!atom) {
     return false;
diff --git a/js/src/jit/BaselineJIT.cpp b/js/src/jit/BaselineJIT.cpp
index f450be8b059d7..defd286bb7c70 100644
--- a/js/src/jit/BaselineJIT.cpp
+++ b/js/src/jit/BaselineJIT.cpp
@@ -658,7 +658,7 @@ void BaselineScript::computeResumeNativeOffsets(
   // nullptr if compiler decided code was unreachable.
   auto computeNative = [this, &entries](uint32_t pcOffset) -> uint8_t* {
     mozilla::Span<const ResumeOffsetEntry> entriesSpan =
-        mozilla::MakeSpan(entries.begin(), entries.length());
+        mozilla::Span(entries.begin(), entries.length());
     size_t mid;
     if (!ComputeBinarySearchMid(entriesSpan, pcOffset, &mid)) {
       return nullptr;
diff --git a/js/src/jsapi-tests/testDeflateStringToUTF8Buffer.cpp b/js/src/jsapi-tests/testDeflateStringToUTF8Buffer.cpp
index 7d2369bf9339d..b451fc4e2b886 100644
--- a/js/src/jsapi-tests/testDeflateStringToUTF8Buffer.cpp
+++ b/js/src/jsapi-tests/testDeflateStringToUTF8Buffer.cpp
@@ -16,7 +16,7 @@ BEGIN_TEST(test_DeflateStringToUTF8Buffer) {
   // initialized to 0x1.
 
   char actual[100];
-  auto span = mozilla::MakeSpan(actual);
+  auto span = mozilla::Span(actual);
 
   // Test with an ASCII string, which calls JSLinearString::latin1Chars
   // to retrieve the characters from the string and generates UTF-8 output
diff --git a/js/src/shell/js.cpp b/js/src/shell/js.cpp
index 130cdb1f94dd4..4d174015c9a6a 100644
--- a/js/src/shell/js.cpp
+++ b/js/src/shell/js.cpp
@@ -5325,7 +5325,7 @@ static bool FrontendTest(JSContext* cx, unsigned argc, Value* vp,
   bool isAscii = false;
   if (linearString->hasLatin1Chars()) {
     JS::AutoCheckCannotGC nogc;
-    isAscii = JS::StringIsASCII(mozilla::MakeSpan(
+    isAscii = JS::StringIsASCII(mozilla::Span(
         reinterpret_cast<const char*>(linearString->latin1Chars(nogc)),
         linearString->length()));
   }
@@ -6693,7 +6693,7 @@ class ShellSourceHook : public SourceHook {
       }
 
       mozilla::DebugOnly<size_t> dstLen = JS::DeflateStringToUTF8Buffer(
-          linear, mozilla::MakeSpan(*utf8Source, *length));
+          linear, mozilla::Span(*utf8Source, *length));
       MOZ_ASSERT(dstLen == *length);
     }
 
diff --git a/js/src/util/Text.h b/js/src/util/Text.h
index 655eb02de890f..1a7177ad84fa8 100644
--- a/js/src/util/Text.h
+++ b/js/src/util/Text.h
@@ -256,15 +256,14 @@ class InflatedChar16Sequence<mozilla::Utf8Unit> {
  * enough for 'srclen' char16_t code units. The buffer is NOT null-terminated.
  */
 inline void CopyAndInflateChars(char16_t* dst, const char* src, size_t srclen) {
-  mozilla::ConvertLatin1toUtf16(mozilla::MakeSpan(src, srclen),
-                                mozilla::MakeSpan(dst, srclen));
+  mozilla::ConvertLatin1toUtf16(mozilla::Span(src, srclen),
+                                mozilla::Span(dst, srclen));
 }
 
 inline void CopyAndInflateChars(char16_t* dst, const JS::Latin1Char* src,
                                 size_t srclen) {
-  mozilla::ConvertLatin1toUtf16(
-      mozilla::AsChars(mozilla::MakeSpan(src, srclen)),
-      mozilla::MakeSpan(dst, srclen));
+  mozilla::ConvertLatin1toUtf16(mozilla::AsChars(mozilla::Span(src, srclen)),
+                                mozilla::Span(dst, srclen));
 }
 
 /*
diff --git a/js/src/vm/CharacterEncoding.cpp b/js/src/vm/CharacterEncoding.cpp
index 634b783e0abef..3796c74d62a2b 100644
--- a/js/src/vm/CharacterEncoding.cpp
+++ b/js/src/vm/CharacterEncoding.cpp
@@ -28,7 +28,6 @@ using mozilla::ConvertUtf16toUtf8Partial;
 using mozilla::IsAscii;
 using mozilla::IsUtf8Latin1;
 using mozilla::LossyConvertUtf16toLatin1;
-using mozilla::MakeSpan;
 using mozilla::Span;
 using mozilla::Tie;
 using mozilla::Tuple;
@@ -46,7 +45,7 @@ Latin1CharsZ JS::LossyTwoByteCharsToNewLatin1CharsZ(
   if (!latin1) {
     return Latin1CharsZ();
   }
-  LossyConvertUtf16toLatin1(tbchars, AsWritableChars(MakeSpan(latin1, len)));
+  LossyConvertUtf16toLatin1(tbchars, AsWritableChars(Span(latin1, len)));
   latin1[len] = '\0';
   return Latin1CharsZ(latin1, len);
 }
@@ -99,14 +98,14 @@ JS_PUBLIC_API size_t JS::DeflateStringToUTF8Buffer(JSLinearString* src,
                                                    mozilla::Span<char> dst) {
   JS::AutoCheckCannotGC nogc;
   if (src->hasLatin1Chars()) {
-    auto source = AsChars(MakeSpan(src->latin1Chars(nogc), src->length()));
+    auto source = AsChars(Span(src->latin1Chars(nogc), src->length()));
     size_t read;
     size_t written;
     Tie(read, written) = ConvertLatin1toUtf8Partial(source, dst);
     Unused << read;
     return written;
   }
-  auto source = MakeSpan(src->twoByteChars(nogc), src->length());
+  auto source = Span(src->twoByteChars(nogc), src->length());
   size_t read;
   size_t written;
   Tie(read, written) = ConvertUtf16toUtf8Partial(source, dst);
@@ -148,7 +147,7 @@ UTF8CharsZ JS::CharsToNewUTF8CharsZ(JSContext* maybeCx,
   }
 
   /* Encode to UTF8. */
-  ::ConvertToUTF8(MakeSpan(str, chars.length()), MakeSpan(utf8, len));
+  ::ConvertToUTF8(Span(str, chars.length()), Span(utf8, len));
   utf8[len] = '\0';
 
   return UTF8CharsZ(utf8, len);
diff --git a/js/src/vm/JSScript.cpp b/js/src/vm/JSScript.cpp
index 4e23c5fa89502..d6a345ece97c4 100644
--- a/js/src/vm/JSScript.cpp
+++ b/js/src/vm/JSScript.cpp
@@ -16,7 +16,7 @@
 #include "mozilla/MemoryReporting.h"
 #include "mozilla/PodOperations.h"
 #include "mozilla/ScopeExit.h"
-#include "mozilla/Span.h"  // mozilla::{Span,MakeSpan}
+#include "mozilla/Span.h"  // mozilla::{Span,Span}
 #include "mozilla/Sprintf.h"
 #include "mozilla/Unused.h"
 #include "mozilla/Utf8.h"
diff --git a/js/src/vm/Printer.cpp b/js/src/vm/Printer.cpp
index 81aa72e09a00c..2c97b4a2a2ebb 100644
--- a/js/src/vm/Printer.cpp
+++ b/js/src/vm/Printer.cpp
@@ -209,7 +209,7 @@ bool Sprinter::putString(JSString* s) {
   }
 
   mozilla::DebugOnly<size_t> written =
-      JS::DeflateStringToUTF8Buffer(linear, mozilla::MakeSpan(buffer, length));
+      JS::DeflateStringToUTF8Buffer(linear, mozilla::Span(buffer, length));
   MOZ_ASSERT(written == length);
 
   buffer[length] = '\0';
diff --git a/js/src/vm/StringType.cpp b/js/src/vm/StringType.cpp
index 57cfd2d6c5239..b405d4979eced 100644
--- a/js/src/vm/StringType.cpp
+++ b/js/src/vm/StringType.cpp
@@ -53,10 +53,10 @@ using mozilla::ConvertLatin1toUtf16;
 using mozilla::IsAsciiDigit;
 using mozilla::IsUtf16Latin1;
 using mozilla::LossyConvertUtf16toLatin1;
-using mozilla::MakeSpan;
 using mozilla::PodCopy;
 using mozilla::RangedPtr;
 using mozilla::RoundUpPow2;
+using mozilla::Span;
 using mozilla::Unused;
 
 using JS::AutoCheckCannotGC;
@@ -163,7 +163,7 @@ mozilla::Maybe<mozilla::Tuple<size_t, size_t> > JSString::encodeUTF8Partial(
         pendingLeadSurrogate = 0;
       }
       auto src = mozilla::AsChars(
-          mozilla::MakeSpan(linear.latin1Chars(nogc), linear.length()));
+          mozilla::Span(linear.latin1Chars(nogc), linear.length()));
       size_t read;
       size_t written;
       mozilla::Tie(read, written) =
@@ -175,7 +175,7 @@ mozilla::Maybe<mozilla::Tuple<size_t, size_t> > JSString::encodeUTF8Partial(
         return mozilla::Some(mozilla::MakeTuple(totalRead, totalWritten));
       }
     } else {
-      auto src = mozilla::MakeSpan(linear.twoByteChars(nogc), linear.length());
+      auto src = mozilla::Span(linear.twoByteChars(nogc), linear.length());
       if (MOZ_UNLIKELY(pendingLeadSurrogate)) {
         char16_t first = 0;
         if (!src.IsEmpty()) {
@@ -579,9 +579,9 @@ void CopyChars(Latin1Char* dest, const JSLinearString& str) {
      */
     size_t len = str.length();
     const char16_t* chars = str.twoByteChars(nogc);
-    auto src = MakeSpan(chars, len);
+    auto src = Span(chars, len);
     MOZ_ASSERT(IsUtf16Latin1(src));
-    LossyConvertUtf16toLatin1(src, AsWritableChars(MakeSpan(dest, len)));
+    LossyConvertUtf16toLatin1(src, AsWritableChars(Span(dest, len)));
   }
 }
 
@@ -957,7 +957,7 @@ template JSString* js::ConcatStrings<NoGC>(JSContext* cx, JSString* const& left,
  */
 static inline void FillChars(char16_t* dest, const unsigned char* src,
                              size_t length) {
-  ConvertLatin1toUtf16(AsChars(MakeSpan(src, length)), MakeSpan(dest, length));
+  ConvertLatin1toUtf16(AsChars(Span(src, length)), Span(dest, length));
 }
 
 static inline void FillChars(char16_t* dest, const char16_t* src,
@@ -988,8 +988,8 @@ static inline void FillChars(char16_t* dest, LittleEndianChars src,
  */
 static inline void FillFromCompatible(unsigned char* dest, const char16_t* src,
                                       size_t length) {
-  LossyConvertUtf16toLatin1(MakeSpan(src, length),
-                            AsWritableChars(MakeSpan(dest, length)));
+  LossyConvertUtf16toLatin1(Span(src, length),
+                            AsWritableChars(Span(dest, length)));
 }
 
 static inline void FillFromCompatible(unsigned char* dest,
@@ -1152,9 +1152,9 @@ bool js::StringIsAscii(JSLinearString* str) {
   JS::AutoCheckCannotGC nogc;
   if (str->hasLatin1Chars()) {
     return mozilla::IsAscii(
-        AsChars(MakeSpan(str->latin1Chars(nogc), str->length())));
+        AsChars(Span(str->latin1Chars(nogc), str->length())));
   }
-  return mozilla::IsAscii(MakeSpan(str->twoByteChars(nogc), str->length()));
+  return mozilla::IsAscii(Span(str->twoByteChars(nogc), str->length()));
 }
 
 bool js::StringEqualsAscii(JSLinearString* str, const char* asciiBytes) {
@@ -1163,7 +1163,7 @@ bool js::StringEqualsAscii(JSLinearString* str, const char* asciiBytes) {
 
 bool js::StringEqualsAscii(JSLinearString* str, const char* asciiBytes,
                            size_t length) {
-  MOZ_ASSERT(JS::StringIsASCII(MakeSpan(asciiBytes, length)));
+  MOZ_ASSERT(JS::StringIsASCII(Span(asciiBytes, length)));
 
   if (length != str->length()) {
     return false;
@@ -1559,7 +1559,7 @@ JSLinearString* js::NewDependentString(JSContext* cx, JSString* baseArg,
 }
 
 static inline bool CanStoreCharsAsLatin1(const char16_t* s, size_t length) {
-  return IsUtf16Latin1(MakeSpan(s, length));
+  return IsUtf16Latin1(Span(s, length));
 }
 
 static bool CanStoreCharsAsLatin1(LittleEndianChars chars, size_t length) {
diff --git a/js/src/wasm/WasmJS.cpp b/js/src/wasm/WasmJS.cpp
index 2558edd84fa80..b2783e62093cc 100644
--- a/js/src/wasm/WasmJS.cpp
+++ b/js/src/wasm/WasmJS.cpp
@@ -67,9 +67,9 @@ using namespace js::jit;
 using namespace js::wasm;
 
 using mozilla::CheckedInt;
-using mozilla::MakeSpan;
 using mozilla::Nothing;
 using mozilla::RangedPtr;
+using mozilla::Span;
 
 extern mozilla::Atomic<bool> fuzzingSafe;
 
@@ -1375,7 +1375,7 @@ bool WasmModuleObject::customSections(JSContext* cx, unsigned argc, Value* vp) {
     }
 
     mozilla::Unused << JS::DeflateStringToUTF8Buffer(
-        linear, MakeSpan(name.begin(), name.length()));
+        linear, Span(name.begin(), name.length()));
   }
 
   RootedValueVector elems(cx);
diff --git a/js/src/wasm/WasmValidate.cpp b/js/src/wasm/WasmValidate.cpp
index 18652cffba097..ac91aa86b28ee 100644
--- a/js/src/wasm/WasmValidate.cpp
+++ b/js/src/wasm/WasmValidate.cpp
@@ -37,7 +37,7 @@ using mozilla::AsChars;
 using mozilla::CheckedInt;
 using mozilla::CheckedInt32;
 using mozilla::IsUtf8;
-using mozilla::MakeSpan;
+using mozilla::Span;
 using mozilla::Unused;
 
 // Decoder implementation.
@@ -1753,7 +1753,7 @@ static UniqueChars DecodeName(Decoder& d) {
     return nullptr;
   }
 
-  if (!IsUtf8(AsChars(MakeSpan(bytes, numBytes)))) {
+  if (!IsUtf8(AsChars(Span(bytes, numBytes)))) {
     return nullptr;
   }
 
diff --git a/js/xpconnect/src/XPCConvert.cpp b/js/xpconnect/src/XPCConvert.cpp
index 0c0453077acde..41dd7af83d110 100644
--- a/js/xpconnect/src/XPCConvert.cpp
+++ b/js/xpconnect/src/XPCConvert.cpp
@@ -261,7 +261,7 @@ bool XPCConvert::NativeData2JS(JSContext* cx, MutableHandleValue d,
         }
 
         size_t written = LossyConvertUtf8toLatin1(
-            *utf8String, MakeSpan(reinterpret_cast<char*>(buffer.get()), len));
+            *utf8String, Span(reinterpret_cast<char*>(buffer.get()), len));
         buffer[written] = 0;
 
         // written can never exceed len, so the truncation is OK.
@@ -299,8 +299,8 @@ bool XPCConvert::NativeData2JS(JSContext* cx, MutableHandleValue d,
       // code units in the source. That's why it's OK to claim the
       // output buffer has len + 1 space but then still expect to
       // have space for the zero terminator.
-      size_t written = ConvertUtf8toUtf16(
-          *utf8String, MakeSpan(buffer.get(), allocLen.value()));
+      size_t written =
+          ConvertUtf8toUtf16(*utf8String, Span(buffer.get(), allocLen.value()));
       MOZ_RELEASE_ASSERT(written <= len);
       buffer[written] = 0;
 
@@ -686,7 +686,7 @@ bool XPCConvert::JSData2Native(JSContext* cx, void* d, HandleValue s,
       }
 
       mozilla::DebugOnly<size_t> written = JS::DeflateStringToUTF8Buffer(
-          linear, mozilla::MakeSpan(rs->BeginWriting(), utf8Length));
+          linear, mozilla::Span(rs->BeginWriting(), utf8Length));
       MOZ_ASSERT(written == utf8Length);
 
       return true;
diff --git a/js/xpconnect/src/nsXPConnect.cpp b/js/xpconnect/src/nsXPConnect.cpp
index 496e16aa96457..b151069004215 100644
--- a/js/xpconnect/src/nsXPConnect.cpp
+++ b/js/xpconnect/src/nsXPConnect.cpp
@@ -946,7 +946,7 @@ nsXPConnect::WriteScript(nsIObjectOutputStream* stream, JSContext* cx,
   rv = stream->Write32(size);
   if (NS_SUCCEEDED(rv)) {
     // Ideally we could just pass "buffer" here.  See bug 1566574.
-    rv = stream->WriteBytes(MakeSpan(buffer.begin(), size));
+    rv = stream->WriteBytes(Span(buffer.begin(), size));
   }
 
   return rv;
diff --git a/layout/base/nsBidiPresUtils.cpp b/layout/base/nsBidiPresUtils.cpp
index 2f0cae7521bc1..fcf514e4b5eeb 100644
--- a/layout/base/nsBidiPresUtils.cpp
+++ b/layout/base/nsBidiPresUtils.cpp
@@ -1444,7 +1444,7 @@ bool nsBidiPresUtils::ChildListMayRequireBidi(nsIFrame* aFirstChild,
           *aCurrContent = content;
           const nsTextFragment* txt = &content->TextFragment();
           if (txt->Is2b() &&
-              HasRTLChars(MakeSpan(txt->Get2b(), txt->GetLength()))) {
+              HasRTLChars(Span(txt->Get2b(), txt->GetLength()))) {
             return true;
           }
         }
diff --git a/layout/painting/RetainedDisplayListHelpers.h b/layout/painting/RetainedDisplayListHelpers.h
index fb1787338abac..f2f29661cc607 100644
--- a/layout/painting/RetainedDisplayListHelpers.h
+++ b/layout/painting/RetainedDisplayListHelpers.h
@@ -7,6 +7,7 @@
 #ifndef RETAINEDDISPLAYLISTHELPERS_H_
 #define RETAINEDDISPLAYLISTHELPERS_H_
 
+#include "mozilla/Span.h"
 #include "PLDHashTable.h"
 
 struct DisplayItemKey {
@@ -111,9 +112,9 @@ class DirectedAcyclicGraph {
 
   mozilla::Span<Index<T>> GetDirectPredecessors(Index<T> aNodeIndex) {
     NodeInfo& node = mNodesInfo[aNodeIndex.val];
-    return mozilla::MakeSpan(mDirectPredecessorList)
-        .Subspan(node.mIndexInDirectPredecessorList,
-                 node.mDirectPredecessorCount);
+    const auto span = mozilla::Span{mDirectPredecessorList};
+    return span.Subspan(node.mIndexInDirectPredecessorList,
+                        node.mDirectPredecessorCount);
   }
 
   template <typename OtherUnits>
diff --git a/layout/style/ServoStyleConstsInlines.h b/layout/style/ServoStyleConstsInlines.h
index 9f7a6d9867aac..1defa95b100b5 100644
--- a/layout/style/ServoStyleConstsInlines.h
+++ b/layout/style/ServoStyleConstsInlines.h
@@ -239,7 +239,7 @@ inline StyleArcSlice<T>::~StyleArcSlice() {
   if (MOZ_LIKELY(!_0.ptr->DecrementRef())) {
     return;
   }
-  for (T& elem : MakeSpan(_0.ptr->data.slice, Length())) {
+  for (T& elem : Span(_0.ptr->data.slice, Length())) {
     elem.~T();
   }
   free(_0.ptr);  // Drop the allocation now.
diff --git a/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.cpp b/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.cpp
index 1d28a68dd8d02..fc776acf15366 100644
--- a/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.cpp
+++ b/media/gmp-clearkey/0.1/ClearKeyDecryptionManager.cpp
@@ -186,8 +186,8 @@ Status ClearKeyDecryptor::Decrypt(uint8_t* aBuffer, uint32_t aBufferSize,
       if (data.value() > endBuffer) {
         return Status::kDecryptError;
       }
-      mozilla::Span<uint8_t> encryptedSpan = mozilla::MakeSpan(
-          reinterpret_cast<uint8_t*>(data.value()), aBufferSize);
+      mozilla::Span<uint8_t> encryptedSpan =
+          mozilla::Span(reinterpret_cast<uint8_t*>(data.value()), aBufferSize);
       if (!ClearKeyUtils::DecryptCbcs(mKey, aMetadata.mIV, encryptedSpan,
                                       aMetadata.mCryptByteBlock,
                                       aMetadata.mSkipByteBlock)) {
@@ -207,7 +207,7 @@ Status ClearKeyDecryptor::Decrypt(uint8_t* aBuffer, uint32_t aBufferSize,
         // Trying to read past the end of the buffer!
         return Status::kDecryptError;
       }
-      mozilla::Span<uint8_t> encryptedSpan = mozilla::MakeSpan(
+      mozilla::Span<uint8_t> encryptedSpan = mozilla::Span(
           reinterpret_cast<uint8_t*>(data.value()), aMetadata.mCipherBytes[i]);
       if (!ClearKeyUtils::DecryptCbcs(mKey, aMetadata.mIV, encryptedSpan,
                                       aMetadata.mCryptByteBlock,
diff --git a/media/webrtc/signaling/src/media-conduit/WebrtcMediaDataEncoderCodec.cpp b/media/webrtc/signaling/src/media-conduit/WebrtcMediaDataEncoderCodec.cpp
index c5f44043cf0db..76eb7dcac546d 100644
--- a/media/webrtc/signaling/src/media-conduit/WebrtcMediaDataEncoderCodec.cpp
+++ b/media/webrtc/signaling/src/media-conduit/WebrtcMediaDataEncoderCodec.cpp
@@ -283,8 +283,7 @@ void WebrtcMediaDataEncoder::ProcessEncode(
 
               nsTArray<AnnexB::NALEntry> entries;
               AnnexB::ParseNALEntries(
-                  MakeSpan<const uint8_t>(frame->Data(), frame->Size()),
-                  entries);
+                  Span<const uint8_t>(frame->Data(), frame->Size()), entries);
               const size_t nalNums = entries.Length();
               LOG_V("NAL nums %zu", nalNums);
               MOZ_ASSERT(nalNums,
diff --git a/mfbt/Array.h b/mfbt/Array.h
index cefa8aa5fc559..fd77568ae6665 100644
--- a/mfbt/Array.h
+++ b/mfbt/Array.h
@@ -97,7 +97,7 @@ class Array<T, 0> {
 
 template <typename T, size_t Length>
 std::ostream& operator<<(std::ostream& aOut, const Array<T, Length>& aArray) {
-  return aOut << MakeSpan(aArray);
+  return aOut << Span(aArray);
 }
 
 } /* namespace mozilla */
diff --git a/mfbt/DbgMacro.h b/mfbt/DbgMacro.h
index 6590d4b5ed06f..3247b993c05cc 100644
--- a/mfbt/DbgMacro.h
+++ b/mfbt/DbgMacro.h
@@ -126,7 +126,7 @@ std::ostream& operator<<(std::ostream& aOut,
 template <typename T, size_t N,
           typename = std::enable_if_t<!std::is_same<T, char>::value>>
 std::ostream& operator<<(std::ostream& aOut, const T (&aArray)[N]) {
-  return aOut << mozilla::MakeSpan(aArray);
+  return aOut << mozilla::Span(aArray);
 }
 
 // MOZ_DBG is a macro like the Rust dbg!() macro -- it will print out the
diff --git a/mfbt/tests/TestUtf8.cpp b/mfbt/tests/TestUtf8.cpp
index 01f731bd02456..f05530869bd1c 100644
--- a/mfbt/tests/TestUtf8.cpp
+++ b/mfbt/tests/TestUtf8.cpp
@@ -21,7 +21,7 @@ using mozilla::EnumSet;
 using mozilla::IntegerRange;
 using mozilla::IsAscii;
 using mozilla::IsUtf8;
-using mozilla::MakeSpan;
+using mozilla::Span;
 using mozilla::Utf8Unit;
 
 // Disable the C++ 2a warning. See bug #1509926
@@ -250,15 +250,15 @@ static void ExpectBadCodePoint(const Char (&aCharN)[N],
 static void TestIsUtf8() {
   // Note we include the U+0000 NULL in this one -- and that's fine.
   static const char asciiBytes[] = u8"How about a nice game of chess?";
-  MOZ_RELEASE_ASSERT(IsUtf8(MakeSpan(asciiBytes, ArrayLength(asciiBytes))));
+  MOZ_RELEASE_ASSERT(IsUtf8(Span(asciiBytes, ArrayLength(asciiBytes))));
 
   static const char endNonAsciiBytes[] = u8"Life is like a 🌯";
   MOZ_RELEASE_ASSERT(
-      IsUtf8(MakeSpan(endNonAsciiBytes, ArrayLength(endNonAsciiBytes) - 1)));
+      IsUtf8(Span(endNonAsciiBytes, ArrayLength(endNonAsciiBytes) - 1)));
 
   static const unsigned char badLeading[] = {0x80};
   MOZ_RELEASE_ASSERT(
-      !IsUtf8(AsChars(MakeSpan(badLeading, ArrayLength(badLeading)))));
+      !IsUtf8(AsChars(Span(badLeading, ArrayLength(badLeading)))));
 
   // Byte-counts
 
@@ -266,13 +266,13 @@ static void TestIsUtf8() {
   static const char oneBytes[] = u8"A";  // U+0041 LATIN CAPITAL LETTER A
   constexpr size_t oneBytesLen = ArrayLength(oneBytes);
   static_assert(oneBytesLen == 2, "U+0041 plus nul");
-  MOZ_RELEASE_ASSERT(IsUtf8(MakeSpan(oneBytes, oneBytesLen)));
+  MOZ_RELEASE_ASSERT(IsUtf8(Span(oneBytes, oneBytesLen)));
 
   // 2
   static const char twoBytes[] = u8"؆";  // U+0606 ARABIC-INDIC CUBE ROOT
   constexpr size_t twoBytesLen = ArrayLength(twoBytes);
   static_assert(twoBytesLen == 3, "U+0606 in two bytes plus nul");
-  MOZ_RELEASE_ASSERT(IsUtf8(MakeSpan(twoBytes, twoBytesLen)));
+  MOZ_RELEASE_ASSERT(IsUtf8(Span(twoBytes, twoBytesLen)));
 
   ExpectValidCodePoint(twoBytes, 0x0606);
 
@@ -280,7 +280,7 @@ static void TestIsUtf8() {
   static const char threeBytes[] = u8"᨞";  // U+1A1E BUGINESE PALLAWA
   constexpr size_t threeBytesLen = ArrayLength(threeBytes);
   static_assert(threeBytesLen == 4, "U+1A1E in three bytes plus nul");
-  MOZ_RELEASE_ASSERT(IsUtf8(MakeSpan(threeBytes, threeBytesLen)));
+  MOZ_RELEASE_ASSERT(IsUtf8(Span(threeBytes, threeBytesLen)));
 
   ExpectValidCodePoint(threeBytes, 0x1A1E);
 
@@ -289,7 +289,7 @@ static void TestIsUtf8() {
       u8"🁡";  // U+1F061 DOMINO TILE HORIZONTAL-06-06
   constexpr size_t fourBytesLen = ArrayLength(fourBytes);
   static_assert(fourBytesLen == 5, "U+1F061 in four bytes plus nul");
-  MOZ_RELEASE_ASSERT(IsUtf8(MakeSpan(fourBytes, fourBytesLen)));
+  MOZ_RELEASE_ASSERT(IsUtf8(Span(fourBytes, fourBytesLen)));
 
   ExpectValidCodePoint(fourBytes, 0x1F061);
 
@@ -297,7 +297,7 @@ static void TestIsUtf8() {
   static const char maxCodePoint[] = u8"􏿿";  // U+10FFFF
   constexpr size_t maxCodePointLen = ArrayLength(maxCodePoint);
   static_assert(maxCodePointLen == 5, "U+10FFFF in four bytes plus nul");
-  MOZ_RELEASE_ASSERT(IsUtf8(MakeSpan(maxCodePoint, maxCodePointLen)));
+  MOZ_RELEASE_ASSERT(IsUtf8(Span(maxCodePoint, maxCodePointLen)));
 
   ExpectValidCodePoint(maxCodePoint, 0x10FFFF);
 
@@ -306,7 +306,7 @@ static void TestIsUtf8() {
                                                       0x0};
   constexpr size_t onePastMaxCodePointLen = ArrayLength(onePastMaxCodePoint);
   MOZ_RELEASE_ASSERT(
-      !IsUtf8(AsChars(MakeSpan(onePastMaxCodePoint, onePastMaxCodePointLen))));
+      !IsUtf8(AsChars(Span(onePastMaxCodePoint, onePastMaxCodePointLen))));
 
   ExpectBadCodePoint(onePastMaxCodePoint, 0x110000, 4);
 
@@ -319,14 +319,13 @@ static void TestIsUtf8() {
   constexpr size_t justBeforeSurrogatesLen =
       ArrayLength(justBeforeSurrogates) - 1;
   MOZ_RELEASE_ASSERT(
-      IsUtf8(AsChars(MakeSpan(justBeforeSurrogates, justBeforeSurrogatesLen))));
+      IsUtf8(AsChars(Span(justBeforeSurrogates, justBeforeSurrogatesLen))));
 
   ExpectValidCodePoint(justBeforeSurrogates, 0xD7FF);
 
   static const unsigned char leastSurrogate[] = {0xED, 0xA0, 0x80, 0x0};
   constexpr size_t leastSurrogateLen = ArrayLength(leastSurrogate) - 1;
-  MOZ_RELEASE_ASSERT(
-      !IsUtf8(AsChars(MakeSpan(leastSurrogate, leastSurrogateLen))));
+  MOZ_RELEASE_ASSERT(!IsUtf8(AsChars(Span(leastSurrogate, leastSurrogateLen))));
 
   ExpectBadCodePoint(leastSurrogate, 0xD800, 3);
 
@@ -334,22 +333,22 @@ static void TestIsUtf8() {
   constexpr size_t arbitraryHighSurrogateLen =
       ArrayLength(arbitraryHighSurrogate) - 1;
   MOZ_RELEASE_ASSERT(!IsUtf8(
-      AsChars(MakeSpan(arbitraryHighSurrogate, arbitraryHighSurrogateLen))));
+      AsChars(Span(arbitraryHighSurrogate, arbitraryHighSurrogateLen))));
 
   ExpectBadCodePoint(arbitraryHighSurrogate, 0xD887, 3);
 
   static const unsigned char arbitraryLowSurrogate[] = {0xED, 0xB7, 0xAF, 0x0};
   constexpr size_t arbitraryLowSurrogateLen =
       ArrayLength(arbitraryLowSurrogate) - 1;
-  MOZ_RELEASE_ASSERT(!IsUtf8(
-      AsChars(MakeSpan(arbitraryLowSurrogate, arbitraryLowSurrogateLen))));
+  MOZ_RELEASE_ASSERT(
+      !IsUtf8(AsChars(Span(arbitraryLowSurrogate, arbitraryLowSurrogateLen))));
 
   ExpectBadCodePoint(arbitraryLowSurrogate, 0xDDEF, 3);
 
   static const unsigned char greatestSurrogate[] = {0xED, 0xBF, 0xBF, 0x0};
   constexpr size_t greatestSurrogateLen = ArrayLength(greatestSurrogate) - 1;
   MOZ_RELEASE_ASSERT(
-      !IsUtf8(AsChars(MakeSpan(greatestSurrogate, greatestSurrogateLen))));
+      !IsUtf8(AsChars(Span(greatestSurrogate, greatestSurrogateLen))));
 
   ExpectBadCodePoint(greatestSurrogate, 0xDFFF, 3);
 
@@ -357,7 +356,7 @@ static void TestIsUtf8() {
   constexpr size_t justAfterSurrogatesLen =
       ArrayLength(justAfterSurrogates) - 1;
   MOZ_RELEASE_ASSERT(
-      IsUtf8(AsChars(MakeSpan(justAfterSurrogates, justAfterSurrogatesLen))));
+      IsUtf8(AsChars(Span(justAfterSurrogates, justAfterSurrogatesLen))));
 
   ExpectValidCodePoint(justAfterSurrogates, 0xE000);
 }
diff --git a/mfbt/tests/gtest/TestSpan.cpp b/mfbt/tests/gtest/TestSpan.cpp
index 6c45803597d60..f0f47db12a3b3 100644
--- a/mfbt/tests/gtest/TestSpan.cpp
+++ b/mfbt/tests/gtest/TestSpan.cpp
@@ -314,7 +314,7 @@ SPAN_TEST(from_pointer_length_constructor) {
 #endif
 
   {
-    auto s = MakeSpan(&arr[0], 2);
+    auto s = Span(&arr[0], 2);
     ASSERT_EQ(s.Length(), 2U);
     ASSERT_EQ(s.data(), &arr[0]);
     ASSERT_EQ(s[0], 1);
@@ -323,7 +323,7 @@ SPAN_TEST(from_pointer_length_constructor) {
 
   {
     int* p = nullptr;
-    auto s = MakeSpan(p, static_cast<Span<int>::index_type>(0));
+    auto s = Span(p, static_cast<Span<int>::index_type>(0));
     ASSERT_EQ(s.Length(), 0U);
     ASSERT_EQ(s.data(), SLICE_INT_PTR);
   }
@@ -331,7 +331,7 @@ SPAN_TEST(from_pointer_length_constructor) {
 #if 0
         {
             int* p = nullptr;
-            auto workaround_macro = [=]() { MakeSpan(p, 2); };
+            auto workaround_macro = [=]() { Span(p, 2); };
             CHECK_THROW(workaround_macro(), fail_fast);
         }
 #endif
@@ -406,7 +406,7 @@ SPAN_TEST(from_pointer_pointer_constructor) {
   //}
 
   {
-    auto s = MakeSpan(&arr[0], &arr[2]);
+    auto s = Span(&arr[0], &arr[2]);
     ASSERT_EQ(s.Length(), 2U);
     ASSERT_EQ(s.data(), &arr[0]);
     ASSERT_EQ(s[0], 1);
@@ -414,14 +414,14 @@ SPAN_TEST(from_pointer_pointer_constructor) {
   }
 
   {
-    auto s = MakeSpan(&arr[0], &arr[0]);
+    auto s = Span(&arr[0], &arr[0]);
     ASSERT_EQ(s.Length(), 0U);
     ASSERT_EQ(s.data(), &arr[0]);
   }
 
   {
     int* p = nullptr;
-    auto s = MakeSpan(p, p);
+    auto s = Span(p, p);
     ASSERT_EQ(s.Length(), 0U);
     ASSERT_EQ(s.data(), SLICE_INT_PTR);
   }
@@ -509,19 +509,19 @@ SPAN_TEST(from_array_constructor) {
   }
 
   {
-    auto s = MakeSpan(arr);
+    auto s = Span(arr);
     ASSERT_EQ(s.Length(), 5U);
     ASSERT_EQ(s.data(), &arr[0]);
   }
 
   {
-    auto s = MakeSpan(&(arr2d[0]), 1);
+    auto s = Span(&(arr2d[0]), 1);
     ASSERT_EQ(s.Length(), 1U);
     ASSERT_EQ(s.data(), &arr2d[0]);
   }
 
   {
-    auto s = MakeSpan(&arr3d[0], 1);
+    auto s = Span(&arr3d[0], 1);
     ASSERT_EQ(s.Length(), 1U);
     ASSERT_EQ(s.data(), &arr3d[0]);
   }
@@ -537,7 +537,7 @@ SPAN_TEST(from_dynamic_array_constructor) {
   }
 
   {
-    auto s = MakeSpan(&arr[0][0][0], 10);
+    auto s = Span(&arr[0][0][0], 10);
     ASSERT_EQ(s.Length(), 10U);
     ASSERT_EQ(s.data(), &arr[0][0][0]);
   }
@@ -607,7 +607,7 @@ SPAN_TEST(from_std_array_constructor) {
   }
 
   {
-    auto s = MakeSpan(arr);
+    auto s = Span(arr);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(arr.size()));
     ASSERT_EQ(s.data(), arr.data());
   }
@@ -654,7 +654,7 @@ SPAN_TEST(from_const_std_array_constructor) {
   }
 
   {
-    auto s = MakeSpan(arr);
+    auto s = Span(arr);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(arr.size()));
     ASSERT_EQ(s.data(), arr.data());
   }
@@ -694,7 +694,7 @@ SPAN_TEST(from_std_array_const_constructor) {
 #endif
 
   {
-    auto s = MakeSpan(arr);
+    auto s = Span(arr);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(arr.size()));
     ASSERT_EQ(s.data(), arr.data());
   }
@@ -762,7 +762,7 @@ SPAN_TEST(from_mozilla_array_constructor) {
   }
 
   {
-    auto s = MakeSpan(arr);
+    auto s = Span(arr);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(arr.cend() - arr.cbegin()));
     ASSERT_EQ(s.data(), &arr[0]);
   }
@@ -811,7 +811,7 @@ SPAN_TEST(from_const_mozilla_array_constructor) {
 #endif
 
   {
-    auto s = MakeSpan(arr);
+    auto s = Span(arr);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(arr.cend() - arr.cbegin()));
     ASSERT_EQ(s.data(), &arr[0]);
   }
@@ -851,7 +851,7 @@ SPAN_TEST(from_mozilla_array_const_constructor) {
 #endif
 
   {
-    auto s = MakeSpan(arr);
+    auto s = Span(arr);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(arr.cend() - arr.cbegin()));
     ASSERT_EQ(s.data(), &arr[0]);
   }
@@ -946,11 +946,11 @@ SPAN_TEST(from_container_constructor) {
   }
 
   {
-    auto s = MakeSpan(v);
+    auto s = Span(v);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(v.size()));
     ASSERT_EQ(s.data(), v.data());
 
-    auto cs = MakeSpan(cv);
+    auto cs = Span(cv);
     ASSERT_EQ(cs.size(), narrow_cast<size_t>(cv.size()));
     ASSERT_EQ(cs.data(), cv.data());
   }
@@ -983,7 +983,7 @@ SPAN_TEST(from_xpcom_collections) {
 
     AssertSpanOfThreeInts(v);
 
-    auto s = MakeSpan(v);
+    auto s = Span(v);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(v.Length()));
     ASSERT_EQ(s.data(), v.Elements());
     ASSERT_EQ(s[2], 3);
@@ -1014,7 +1014,7 @@ SPAN_TEST(from_xpcom_collections) {
 
     AssertSpanOfThreeInts(v);
 
-    auto s = MakeSpan(v);
+    auto s = Span(v);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(v.Length()));
     ASSERT_EQ(s.data(), v.Elements());
     ASSERT_EQ(s[2], 3);
@@ -1045,7 +1045,7 @@ SPAN_TEST(from_xpcom_collections) {
 
     AssertSpanOfThreeInts(v);
 
-    auto s = MakeSpan(v);
+    auto s = Span(v);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(v.Length()));
     ASSERT_EQ(s.data(), v.Elements());
     ASSERT_EQ(s[2], 3);
@@ -1074,7 +1074,7 @@ SPAN_TEST(from_xpcom_collections) {
     AssertSpanOfThreeChar16s(str);
     AssertSpanOfThreeChar16sViaString(str);
 
-    auto s = MakeSpan(str);
+    auto s = Span(str);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(str.Length()));
     ASSERT_EQ(s.data(), str.BeginWriting());
     ASSERT_EQ(s[2], 'c');
@@ -1103,7 +1103,7 @@ SPAN_TEST(from_xpcom_collections) {
     AssertSpanOfThreeChars(str);
     AssertSpanOfThreeCharsViaString(str);
 
-    auto s = MakeSpan(str);
+    auto s = Span(str);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(str.Length()));
     ASSERT_EQ(s.data(), str.BeginWriting());
     ASSERT_EQ(s[2], 'c');
@@ -1138,7 +1138,7 @@ SPAN_TEST(from_xpcom_collections) {
 
     AssertSpanOfThreeInts(r);
 
-    auto s = MakeSpan(r);
+    auto s = Span(r);
     ASSERT_EQ(s.size(), narrow_cast<size_t>(v.Length()));
     ASSERT_EQ(s.data(), v.Elements());
     ASSERT_EQ(s[2], 3);
@@ -1165,7 +1165,7 @@ SPAN_TEST(from_cstring) {
     Span<const char> sccel;
     sccel = "literal";  // error
 
-    cs = MakeSpan("literal");  // error
+    cs = Span("literal");  // error
 #endif
   }
   {
@@ -1176,7 +1176,7 @@ SPAN_TEST(from_cstring) {
     ASSERT_EQ(cs.data(), arr);
     ASSERT_EQ(cs[2], 'c');
 
-    cs = MakeSpan(arr);
+    cs = Span(arr);
     ASSERT_EQ(cs.size(), 4U);  // zero terminator is part of the array span.
     ASSERT_EQ(cs.data(), arr);
     ASSERT_EQ(cs[2], 'c');
@@ -1209,7 +1209,7 @@ SPAN_TEST(from_cstring) {
     ASSERT_EQ(cs.data(), str);
     ASSERT_EQ(cs[2], 'c');
 
-    cs = MakeSpan(arr);
+    cs = Span(arr);
     ASSERT_EQ(cs.size(), 4U);  // zero terminator is part of the array span.
     ASSERT_EQ(cs.data(), str);
     ASSERT_EQ(cs[2], 'c');
@@ -1226,7 +1226,7 @@ SPAN_TEST(from_cstring) {
     Span<const char16_t>* sccel;
     *sccel = u"literal";  // error
 
-    cs = MakeSpan(u"literal");  // error
+    cs = Span(u"literal");  // error
 #endif
   }
 }
@@ -1974,7 +1974,7 @@ SPAN_TEST(as_writable_bytes) {
 
 SPAN_TEST(as_chars) {
   const uint8_t a[] = {1, 2, 3, 4};
-  Span<const uint8_t> u = MakeSpan(a);
+  Span<const uint8_t> u = Span(a);
   Span<const char> c = AsChars(u);
   ASSERT_EQ(static_cast<const void*>(u.data()),
             static_cast<const void*>(c.data()));
@@ -1983,7 +1983,7 @@ SPAN_TEST(as_chars) {
 
 SPAN_TEST(as_writable_chars) {
   uint8_t a[] = {1, 2, 3, 4};
-  Span<uint8_t> u = MakeSpan(a);
+  Span<uint8_t> u = Span(a);
   Span<char> c = AsWritableChars(u);
   ASSERT_EQ(static_cast<void*>(u.data()), static_cast<void*>(c.data()));
   ASSERT_EQ(u.size(), c.size());
diff --git a/modules/libjar/zipwriter/nsDeflateConverter.cpp b/modules/libjar/zipwriter/nsDeflateConverter.cpp
index f440e3f9ae29c..32dc3c7ebf6d6 100644
--- a/modules/libjar/zipwriter/nsDeflateConverter.cpp
+++ b/modules/libjar/zipwriter/nsDeflateConverter.cpp
@@ -162,9 +162,9 @@ nsresult nsDeflateConverter::PushAvailableData(nsIRequest* aRequest,
 
   MOZ_ASSERT(bytesToWrite <= INT32_MAX);
   nsCOMPtr<nsIInputStream> stream;
-  nsresult rv = NS_NewByteInputStream(
-      getter_AddRefs(stream), MakeSpan((char*)mWriteBuffer, bytesToWrite),
-      NS_ASSIGNMENT_DEPEND);
+  nsresult rv = NS_NewByteInputStream(getter_AddRefs(stream),
+                                      Span((char*)mWriteBuffer, bytesToWrite),
+                                      NS_ASSIGNMENT_DEPEND);
   NS_ENSURE_SUCCESS(rv, rv);
 
   rv = mListener->OnDataAvailable(aRequest, stream, mOffset, bytesToWrite);
diff --git a/modules/libjar/zipwriter/nsZipDataStream.cpp b/modules/libjar/zipwriter/nsZipDataStream.cpp
index b3ba1f3754e84..e71e12eefeea5 100644
--- a/modules/libjar/zipwriter/nsZipDataStream.cpp
+++ b/modules/libjar/zipwriter/nsZipDataStream.cpp
@@ -118,7 +118,7 @@ nsresult nsZipDataStream::ProcessData(nsIRequest* aRequest,
   MOZ_ASSERT(aCount <= INT32_MAX);
   nsCOMPtr<nsIInputStream> stream;
   nsresult rv = NS_NewByteInputStream(
-      getter_AddRefs(stream), MakeSpan(aBuffer, aCount), NS_ASSIGNMENT_DEPEND);
+      getter_AddRefs(stream), Span(aBuffer, aCount), NS_ASSIGNMENT_DEPEND);
   NS_ENSURE_SUCCESS(rv, rv);
 
   rv = mOutput->OnDataAvailable(aRequest, stream, aOffset, aCount);
diff --git a/mozglue/misc/NativeNt.h b/mozglue/misc/NativeNt.h
index 7a15dab620268..11d0ba0ed34fc 100644
--- a/mozglue/misc/NativeNt.h
+++ b/mozglue/misc/NativeNt.h
@@ -702,7 +702,7 @@ class MOZ_RAII PEHeaders final {
       ++curIatThunk;
     }
 
-    return Some(MakeSpan(firstIatThunk, curIatThunk));
+    return Some(Span(firstIatThunk, curIatThunk));
   }
 
   /**
@@ -783,7 +783,7 @@ class MOZ_RAII PEHeaders final {
       }
 
       auto base = RVAToPtr<const uint8_t*>(rva);
-      return Some(MakeSpan(base, size));
+      return Some(Span(base, size));
     }
 
     return Nothing();
diff --git a/mozglue/misc/interceptor/MMPolicies.h b/mozglue/misc/interceptor/MMPolicies.h
index f9d97783e5fc1..fe57c1da0fa38 100644
--- a/mozglue/misc/interceptor/MMPolicies.h
+++ b/mozglue/misc/interceptor/MMPolicies.h
@@ -286,8 +286,8 @@ class MOZ_TRIVIAL_CTOR_DTOR MMPolicyBase {
     }
 
     // Return the result as a Span
-    return Some(MakeSpan(reinterpret_cast<const uint8_t*>(lowerBound.value()),
-                         upperBound.value() - lowerBound.value()));
+    return Some(Span(reinterpret_cast<const uint8_t*>(lowerBound.value()),
+                     upperBound.value() - lowerBound.value()));
   }
 
   /**
diff --git a/mozglue/tests/TestBaseProfiler.cpp b/mozglue/tests/TestBaseProfiler.cpp
index 388a146de9354..2e38d82337e8d 100644
--- a/mozglue/tests/TestBaseProfiler.cpp
+++ b/mozglue/tests/TestBaseProfiler.cpp
@@ -2862,10 +2862,10 @@ void TestBlocksRingBufferSerialization() {
 
   rb.Clear();
   int intArray[] = {1, 2, 3, 4, 5};
-  rb.PutObjects(MakeSpan(intArray));
+  rb.PutObjects(Span(intArray));
   rb.ReadEach([&](ProfileBufferEntryReader& aER) {
     int intArrayOut[sizeof(intArray) / sizeof(intArray[0])] = {0};
-    auto outSpan = MakeSpan(intArrayOut);
+    auto outSpan = Span(intArrayOut);
     aER.ReadIntoObject(outSpan);
     for (size_t i = 0; i < sizeof(intArray) / sizeof(intArray[0]); ++i) {
       MOZ_RELEASE_ASSERT(intArrayOut[i] == intArray[i]);
diff --git a/netwerk/base/ProxyAutoConfig.cpp b/netwerk/base/ProxyAutoConfig.cpp
index a06da99735dd7..d3f61e1443800 100644
--- a/netwerk/base/ProxyAutoConfig.cpp
+++ b/netwerk/base/ProxyAutoConfig.cpp
@@ -743,7 +743,7 @@ nsresult ProxyAutoConfig::SetupJS() {
     // and otherwise inflate Latin-1 to UTF-16 and compile that.
     const char* scriptData = this->mConcatenatedPACData.get();
     size_t scriptLength = this->mConcatenatedPACData.Length();
-    if (mozilla::IsUtf8(mozilla::MakeSpan(scriptData, scriptLength))) {
+    if (mozilla::IsUtf8(mozilla::Span(scriptData, scriptLength))) {
       JS::SourceText<Utf8Unit> srcBuf;
       if (!srcBuf.init(cx, scriptData, scriptLength,
                        JS::SourceOwnership::Borrowed)) {
diff --git a/netwerk/base/nsStandardURL.cpp b/netwerk/base/nsStandardURL.cpp
index 001a3a77b5a12..167fee9bc96e2 100644
--- a/netwerk/base/nsStandardURL.cpp
+++ b/netwerk/base/nsStandardURL.cpp
@@ -105,7 +105,7 @@ int32_t nsStandardURL::nsSegmentEncoder::EncodeSegmentCount(
 
   uint32_t origLen = aOut.Length();
 
-  Span<const char> span = MakeSpan(aStr + aSeg.mPos, aSeg.mLen);
+  Span<const char> span = Span(aStr + aSeg.mPos, aSeg.mLen);
 
   // first honor the origin charset if appropriate. as an optimization,
   // only do this if the segment is non-ASCII.  Further, if mEncoding is
@@ -115,7 +115,7 @@ int32_t nsStandardURL::nsSegmentEncoder::EncodeSegmentCount(
     if (upTo != span.Length()) {
       // we have to encode this segment
       char bufferArr[512];
-      Span<char> buffer = MakeSpan(bufferArr);
+      Span<char> buffer = Span(bufferArr);
 
       auto encoder = mEncoding->NewEncoder();
 
diff --git a/netwerk/dns/nsEffectiveTLDService.cpp b/netwerk/dns/nsEffectiveTLDService.cpp
index 8a99fff9cfc77..e838ccbe3c9cd 100644
--- a/netwerk/dns/nsEffectiveTLDService.cpp
+++ b/netwerk/dns/nsEffectiveTLDService.cpp
@@ -90,7 +90,7 @@ NS_IMETHODIMP nsEffectiveTLDService::Observe(nsISupports* aSubject,
     size_t size = mDafsaMap.size();
     const uint8_t* remoteDafsaPtr = mDafsaMap.get<uint8_t>().get();
 
-    auto remoteDafsa = mozilla::MakeSpan(remoteDafsaPtr, size);
+    auto remoteDafsa = mozilla::Span(remoteDafsaPtr, size);
 
     mGraph.reset();
     mGraph.emplace(remoteDafsa);
diff --git a/netwerk/protocol/ftp/FTPChannelChild.cpp b/netwerk/protocol/ftp/FTPChannelChild.cpp
index 72fb857b5411c..16b2710118aec 100644
--- a/netwerk/protocol/ftp/FTPChannelChild.cpp
+++ b/netwerk/protocol/ftp/FTPChannelChild.cpp
@@ -367,7 +367,7 @@ void FTPChannelChild::DoOnDataAvailable(const nsresult& aChannelStatus,
   nsCOMPtr<nsIInputStream> stringStream;
   nsresult rv =
       NS_NewByteInputStream(getter_AddRefs(stringStream),
-                            MakeSpan(aData).To(aCount), NS_ASSIGNMENT_DEPEND);
+                            Span(aData).To(aCount), NS_ASSIGNMENT_DEPEND);
   if (NS_FAILED(rv)) {
     Cancel(rv);
     return;
diff --git a/netwerk/protocol/ftp/FTPChannelParent.cpp b/netwerk/protocol/ftp/FTPChannelParent.cpp
index 330616020a559..7e97c880fe9d4 100644
--- a/netwerk/protocol/ftp/FTPChannelParent.cpp
+++ b/netwerk/protocol/ftp/FTPChannelParent.cpp
@@ -255,9 +255,8 @@ void FTPChannelParent::DivertOnDataAvailable(const nsCString& data,
   }
 
   nsCOMPtr<nsIInputStream> stringStream;
-  nsresult rv =
-      NS_NewByteInputStream(getter_AddRefs(stringStream),
-                            MakeSpan(data).To(count), NS_ASSIGNMENT_DEPEND);
+  nsresult rv = NS_NewByteInputStream(
+      getter_AddRefs(stringStream), Span(data).To(count), NS_ASSIGNMENT_DEPEND);
   if (NS_FAILED(rv)) {
     if (mChannel) {
       mChannel->Cancel(rv);
diff --git a/netwerk/protocol/http/HttpChannelChild.cpp b/netwerk/protocol/http/HttpChannelChild.cpp
index 14047921ecb61..4e933e57c8d8a 100644
--- a/netwerk/protocol/http/HttpChannelChild.cpp
+++ b/netwerk/protocol/http/HttpChannelChild.cpp
@@ -874,7 +874,7 @@ void HttpChannelChild::OnTransportAndData(const nsresult& aChannelStatus,
   nsCOMPtr<nsIInputStream> stringStream;
   nsresult rv =
       NS_NewByteInputStream(getter_AddRefs(stringStream),
-                            MakeSpan(aData).To(aCount), NS_ASSIGNMENT_DEPEND);
+                            Span(aData).To(aCount), NS_ASSIGNMENT_DEPEND);
   if (NS_FAILED(rv)) {
     Cancel(rv);
     return;
diff --git a/netwerk/protocol/http/HttpChannelParent.cpp b/netwerk/protocol/http/HttpChannelParent.cpp
index 62d54ed0618f7..28ef2d25bc130 100644
--- a/netwerk/protocol/http/HttpChannelParent.cpp
+++ b/netwerk/protocol/http/HttpChannelParent.cpp
@@ -1150,9 +1150,8 @@ void HttpChannelParent::DivertOnDataAvailable(const nsCString& data,
   }
 
   nsCOMPtr<nsIInputStream> stringStream;
-  nsresult rv =
-      NS_NewByteInputStream(getter_AddRefs(stringStream),
-                            MakeSpan(data).To(count), NS_ASSIGNMENT_DEPEND);
+  nsresult rv = NS_NewByteInputStream(
+      getter_AddRefs(stringStream), Span(data).To(count), NS_ASSIGNMENT_DEPEND);
   if (NS_FAILED(rv)) {
     if (mChannel) {
       mChannel->Cancel(rv);
diff --git a/netwerk/protocol/http/HttpTransactionParent.cpp b/netwerk/protocol/http/HttpTransactionParent.cpp
index 6b4342770dd79..fe7f79aa1fd65 100644
--- a/netwerk/protocol/http/HttpTransactionParent.cpp
+++ b/netwerk/protocol/http/HttpTransactionParent.cpp
@@ -558,9 +558,9 @@ void HttpTransactionParent::DoOnDataAvailable(const nsCString& aData,
   }
 
   nsCOMPtr<nsIInputStream> stringStream;
-  nsresult rv = NS_NewByteInputStream(getter_AddRefs(stringStream),
-                                      MakeSpan(aData.get(), aCount),
-                                      NS_ASSIGNMENT_DEPEND);
+  nsresult rv =
+      NS_NewByteInputStream(getter_AddRefs(stringStream),
+                            Span(aData.get(), aCount), NS_ASSIGNMENT_DEPEND);
 
   if (NS_FAILED(rv)) {
     CancelOnMainThread(rv);
diff --git a/parser/html/nsHtml5Portability.cpp b/parser/html/nsHtml5Portability.cpp
index 381ca50d9b674..30b1fae72b025 100644
--- a/parser/html/nsHtml5Portability.cpp
+++ b/parser/html/nsHtml5Portability.cpp
@@ -31,7 +31,7 @@ nsHtml5String nsHtml5Portability::newStringFromBuffer(
     return nsHtml5String::EmptyString();
   }
   if (maybeAtomize &&
-      !ContainsWhiteSpace(mozilla::MakeSpan(buf + offset, length))) {
+      !ContainsWhiteSpace(mozilla::Span(buf + offset, length))) {
     return nsHtml5String::FromAtom(
         NS_AtomizeMainThread(nsDependentSubstring(buf + offset, length)));
   }
diff --git a/parser/html/nsHtml5StreamParser.cpp b/parser/html/nsHtml5StreamParser.cpp
index c589f25b66dc6..f93984f0ae072 100644
--- a/parser/html/nsHtml5StreamParser.cpp
+++ b/parser/html/nsHtml5StreamParser.cpp
@@ -360,7 +360,7 @@ nsHtml5StreamParser::SetupDecodingAndWriteSniffingBufferAndCurrentSegment(
     mUnicodeDecoder = mEncoding->NewDecoderWithBOMRemoval();
   }
   if (mSniffingBuffer) {
-    rv = WriteStreamBytes(MakeSpan(mSniffingBuffer.get(), mSniffingLength));
+    rv = WriteStreamBytes(Span(mSniffingBuffer.get(), mSniffingLength));
     NS_ENSURE_SUCCESS(rv, rv);
     mSniffingBuffer = nullptr;
   }
@@ -506,7 +506,7 @@ void nsHtml5StreamParser::FinalizeSniffingWithDetector(
     Span<const uint8_t> aFromSegment, uint32_t aCountToSniffingLimit,
     bool aEof) {
   if (mSniffingBuffer) {
-    FeedDetector(MakeSpan(mSniffingBuffer.get(), mSniffingLength), false);
+    FeedDetector(Span(mSniffingBuffer.get(), mSniffingLength), false);
   }
   if (mFeedChardet && !aFromSegment.IsEmpty()) {
     // Avoid buffer boundary-dependent behavior.
@@ -1516,7 +1516,7 @@ nsresult nsHtml5StreamParser::CopySegmentsToParser(
     uint32_t aToOffset, uint32_t aCount, uint32_t* aWriteCount) {
   nsHtml5StreamParser* parser = static_cast<nsHtml5StreamParser*>(aClosure);
 
-  parser->DoDataAvailable(AsBytes(MakeSpan(aFromSegment, aCount)));
+  parser->DoDataAvailable(AsBytes(Span(aFromSegment, aCount)));
   // Assume DoDataAvailable consumed all available bytes.
   *aWriteCount = aCount;
   return NS_OK;
diff --git a/parser/html/nsHtml5String.cpp b/parser/html/nsHtml5String.cpp
index cab70b53b89c2..bd62e08fe8ad2 100644
--- a/parser/html/nsHtml5String.cpp
+++ b/parser/html/nsHtml5String.cpp
@@ -150,7 +150,7 @@ nsHtml5String nsHtml5String::FromLiteral(const char* aLiteral) {
     MOZ_CRASH("Out of memory.");
   }
   char16_t* data = reinterpret_cast<char16_t*>(buffer->Data());
-  ConvertAsciitoUtf16(MakeSpan(aLiteral, length), MakeSpan(data, length));
+  ConvertAsciitoUtf16(Span(aLiteral, length), Span(data, length));
   data[length] = 0;
   return nsHtml5String(reinterpret_cast<uintptr_t>(buffer.forget().take()) |
                        eStringBuffer);
diff --git a/parser/html/nsHtml5TreeBuilderCppSupplement.h b/parser/html/nsHtml5TreeBuilderCppSupplement.h
index ec63ce242868c..0649c5f714350 100644
--- a/parser/html/nsHtml5TreeBuilderCppSupplement.h
+++ b/parser/html/nsHtml5TreeBuilderCppSupplement.h
@@ -738,8 +738,7 @@ void nsHtml5TreeBuilder::appendCharacters(nsIContentHandle* aParent,
   memcpy(bufferCopy.get(), aBuffer, aLength * sizeof(char16_t));
 
   if (mImportScanner.ShouldScan()) {
-    nsTArray<nsString> imports =
-        mImportScanner.Scan(MakeSpan(aBuffer, aLength));
+    nsTArray<nsString> imports = mImportScanner.Scan(Span(aBuffer, aLength));
     for (nsString& url : imports) {
       mSpeculativeLoadQueue.AppendElement()->InitImportStyle(std::move(url));
     }
diff --git a/parser/htmlparser/nsParser.cpp b/parser/htmlparser/nsParser.cpp
index a3d0022b070ef..1af3468bd3c56 100644
--- a/parser/htmlparser/nsParser.cpp
+++ b/parser/htmlparser/nsParser.cpp
@@ -1225,7 +1225,7 @@ static nsresult ParserWriteFunc(nsIInputStream* in, void* closure,
     // declaration to be entirely in the first network buffer. -- hsivonen
     const Encoding* encoding;
     size_t bomLength;
-    Tie(encoding, bomLength) = Encoding::ForBOM(MakeSpan(buf, count));
+    Tie(encoding, bomLength) = Encoding::ForBOM(Span(buf, count));
     Unused << bomLength;
     if (encoding) {
       // The decoder will swallow the BOM. The UTF-16 will re-sniff for
diff --git a/parser/htmlparser/nsScanner.cpp b/parser/htmlparser/nsScanner.cpp
index e4c4ac3794728..7095ef9392cae 100644
--- a/parser/htmlparser/nsScanner.cpp
+++ b/parser/htmlparser/nsScanner.cpp
@@ -229,8 +229,7 @@ nsresult nsScanner::Append(const char* aBuffer, uint32_t aLen) {
     size_t written;
     Tie(result, read, written) =
         mUnicodeDecoder->DecodeToUTF16WithoutReplacement(
-            AsBytes(MakeSpan(aBuffer, aLen)),
-            MakeSpan(unichars, needed.value()),
+            AsBytes(Span(aBuffer, aLen)), Span(unichars, needed.value()),
             false);  // Retain bug about failure to handle EOF
     MOZ_ASSERT(result != kOutputFull);
     MOZ_ASSERT(read <= aLen);
diff --git a/security/certverifier/NSSCertDBTrustDomain.cpp b/security/certverifier/NSSCertDBTrustDomain.cpp
index 46c9e55fa3fcc..f788b1f39cae6 100644
--- a/security/certverifier/NSSCertDBTrustDomain.cpp
+++ b/security/certverifier/NSSCertDBTrustDomain.cpp
@@ -1258,8 +1258,7 @@ Result NSSCertDBTrustDomain::IsChainValid(const DERArray& certArray, Time time,
       if (!der) {
         return Result::FATAL_ERROR_LIBRARY_FAILURE;
       }
-      derCertSpanList.EmplaceBack(
-          MakeSpan(der->UnsafeGetData(), der->GetLength()));
+      derCertSpanList.EmplaceBack(der->UnsafeGetData(), der->GetLength());
     }
 
     nsrv = PublicKeyPinningService::ChainHasValidPins(
diff --git a/security/manager/ssl/CommonSocketControl.cpp b/security/manager/ssl/CommonSocketControl.cpp
index 61671959fe868..40dbd6dd5937f 100644
--- a/security/manager/ssl/CommonSocketControl.cpp
+++ b/security/manager/ssl/CommonSocketControl.cpp
@@ -192,7 +192,7 @@ CommonSocketControl::IsAcceptableForHost(const nsACString& hostname,
       if (NS_FAILED(nsrv)) {
         return nsrv;
       }
-      derCertSpanList.EmplaceBack(MakeSpan(rawDerCertList.LastElement()));
+      derCertSpanList.EmplaceBack(rawDerCertList.LastElement());
     }
 
     nsresult nsrv = mozilla::psm::PublicKeyPinningService::ChainHasValidPins(
diff --git a/security/manager/ssl/SSLServerCertVerification.cpp b/security/manager/ssl/SSLServerCertVerification.cpp
index d8cb518aaabe8..0112bec9faca8 100644
--- a/security/manager/ssl/SSLServerCertVerification.cpp
+++ b/security/manager/ssl/SSLServerCertVerification.cpp
@@ -806,8 +806,7 @@ void GatherRootCATelemetry(const UniqueCERTCertList& certList) {
   if (!rootCert) {
     return;
   }
-  Span<uint8_t> certSpan =
-      MakeSpan(rootCert->derCert.data, rootCert->derCert.len);
+  Span<uint8_t> certSpan = {rootCert->derCert.data, rootCert->derCert.len};
   AccumulateTelemetryForRootCA(Telemetry::CERT_VALIDATION_SUCCESS_BY_CA,
                                certSpan);
 }
@@ -926,8 +925,7 @@ void GatherCertificateTransparencyTelemetry(
   }
 
   // Report CT Policy compliance by CA.
-  Span<uint8_t> certSpan =
-      MakeSpan(rootCert->derCert.data, rootCert->derCert.len);
+  Span<uint8_t> certSpan = {rootCert->derCert.data, rootCert->derCert.len};
   switch (info.policyCompliance) {
     case ct::CTPolicyCompliance::Compliant:
       AccumulateTelemetryForRootCA(
diff --git a/security/manager/ssl/nsNSSCertHelper.cpp b/security/manager/ssl/nsNSSCertHelper.cpp
index 9507beafba6f1..3a3e53456d13e 100644
--- a/security/manager/ssl/nsNSSCertHelper.cpp
+++ b/security/manager/ssl/nsNSSCertHelper.cpp
@@ -91,7 +91,7 @@ nsresult PIPBundleFormatStringFromName(const char* stringName,
 
 void LossyUTF8ToUTF16(const char* str, uint32_t len,
                       /*out*/ nsAString& result) {
-  auto span = MakeSpan(str, len);
+  auto span = Span(str, len);
   if (IsUtf8(span)) {
     CopyUTF8toUTF16(span, result);
   } else {
diff --git a/security/manager/ssl/nsNSSCertificate.cpp b/security/manager/ssl/nsNSSCertificate.cpp
index 58c6927e15fc0..efa3bb3bf576e 100644
--- a/security/manager/ssl/nsNSSCertificate.cpp
+++ b/security/manager/ssl/nsNSSCertificate.cpp
@@ -833,7 +833,7 @@ nsNSSCertificate::Write(nsIObjectOutputStream* aStream) {
     return rv;
   }
   return aStream->WriteBytes(
-      AsBytes(MakeSpan(mCert->derCert.data, mCert->derCert.len)));
+      AsBytes(Span(mCert->derCert.data, mCert->derCert.len)));
 }
 
 // NB: Any updates (except disk-only fields) must be kept in sync with
diff --git a/security/manager/ssl/nsNSSCertificateDB.cpp b/security/manager/ssl/nsNSSCertificateDB.cpp
index 304f2d17b061b..2e587e4e14d8f 100644
--- a/security/manager/ssl/nsNSSCertificateDB.cpp
+++ b/security/manager/ssl/nsNSSCertificateDB.cpp
@@ -843,13 +843,13 @@ nsNSSCertificateDB::ConstructX509FromBase64(const nsACString& base64,
     return rv;
   }
 
-  return ConstructX509FromSpan(AsBytes(MakeSpan(certDER)), _retval);
+  return ConstructX509FromSpan(AsBytes(Span(certDER)), _retval);
 }
 
 NS_IMETHODIMP
 nsNSSCertificateDB::ConstructX509(const nsTArray<uint8_t>& certDER,
                                   nsIX509Cert** _retval) {
-  return ConstructX509FromSpan(MakeSpan(certDER.Elements(), certDER.Length()),
+  return ConstructX509FromSpan(Span(certDER.Elements(), certDER.Length()),
                                _retval);
 }
 
@@ -1013,8 +1013,8 @@ nsNSSCertificateDB::AddCert(const nsACString& aCertDER,
   }
 
   nsCOMPtr<nsIX509Cert> newCert;
-  nsresult rv = ConstructX509FromSpan(AsBytes(MakeSpan(aCertDER)),
-                                      getter_AddRefs(newCert));
+  nsresult rv =
+      ConstructX509FromSpan(AsBytes(Span(aCertDER)), getter_AddRefs(newCert));
   if (NS_FAILED(rv)) {
     return rv;
   }
diff --git a/startupcache/StartupCache.cpp b/startupcache/StartupCache.cpp
index a52f1aec5d760..a33794d788088 100644
--- a/startupcache/StartupCache.cpp
+++ b/startupcache/StartupCache.cpp
@@ -796,11 +796,10 @@ Result<Ok, nsresult> StartupCache::DecompressEntry(StartupCacheEntry& aEntry) {
 
   size_t totalRead = 0;
   size_t totalWritten = 0;
-  Span<const char> compressed = MakeSpan(
+  Span<const char> compressed = Span(
       mCacheData.get<char>().get() + mCacheEntriesBaseOffset + aEntry.mOffset,
       aEntry.mCompressedSize);
-  Span<char> uncompressed =
-      MakeSpan(aEntry.mData.get(), aEntry.mUncompressedSize);
+  Span<char> uncompressed = Span(aEntry.mData.get(), aEntry.mUncompressedSize);
   bool finished = false;
   while (!finished) {
     auto result = mDecompressionContext->Decompress(
@@ -1084,7 +1083,7 @@ Result<Ok, nsresult> StartupCache::WriteToDisk() {
                                    true);     /* aStableSrc */
     size_t writeBufLen = ctx.GetRequiredWriteBufferLength();
     auto writeBuffer = MaybeOwnedCharPtr(writeBufLen);
-    auto writeSpan = MakeSpan(writeBuffer.get(), writeBufLen);
+    auto writeSpan = Span(writeBuffer.get(), writeBufLen);
 
     for (auto& e : entries) {
       auto* value = e.second;
@@ -1100,9 +1099,9 @@ Result<Ok, nsresult> StartupCache::WriteToDisk() {
       // Reuse the existing compressed entry if possible
       if (mCacheData.initialized() && value->mCompressedSize) {
         Span<const char> compressed =
-            MakeSpan(mCacheData.get<char>().get() + mCacheEntriesBaseOffset +
-                         value->mOffset,
-                     value->mCompressedSize);
+            Span(mCacheData.get<char>().get() + mCacheEntriesBaseOffset +
+                     value->mOffset,
+                 value->mCompressedSize);
         MOZ_TRY(Write(fd, compressed.Elements(), compressed.Length()));
         value->mOffset = offset;
         offset += compressed.Length();
@@ -1117,9 +1116,8 @@ Result<Ok, nsresult> StartupCache::WriteToDisk() {
         for (size_t i = 0; i < value->mUncompressedSize; i += chunkSize) {
           size_t size = std::min(chunkSize, value->mUncompressedSize - i);
           char* uncompressed = value->mData.get() + i;
-          MOZ_TRY_VAR(result,
-                      ctx.ContinueCompressing(MakeSpan(uncompressed, size))
-                          .mapErr(MapLZ4ErrorToNsresult));
+          MOZ_TRY_VAR(result, ctx.ContinueCompressing(Span(uncompressed, size))
+                                  .mapErr(MapLZ4ErrorToNsresult));
           MOZ_TRY(Write(fd, result.Elements(), result.Length()));
           offset += result.Length();
         }
diff --git a/startupcache/StartupCacheUtils.cpp b/startupcache/StartupCacheUtils.cpp
index 36bb5f812ba23..ca19b1d6cd399 100644
--- a/startupcache/StartupCacheUtils.cpp
+++ b/startupcache/StartupCacheUtils.cpp
@@ -20,9 +20,8 @@ namespace scache {
 nsresult NewObjectInputStreamFromBuffer(const char* buffer, uint32_t len,
                                         nsIObjectInputStream** stream) {
   nsCOMPtr<nsIInputStream> stringStream;
-  nsresult rv =
-      NS_NewByteInputStream(getter_AddRefs(stringStream), MakeSpan(buffer, len),
-                            NS_ASSIGNMENT_DEPEND);
+  nsresult rv = NS_NewByteInputStream(getter_AddRefs(stringStream),
+                                      Span(buffer, len), NS_ASSIGNMENT_DEPEND);
   MOZ_ALWAYS_SUCCEEDS(rv);
 
   nsCOMPtr<nsIObjectInputStream> objectInput =
diff --git a/toolkit/components/backgroundhangmonitor/ThreadStackHelper.cpp b/toolkit/components/backgroundhangmonitor/ThreadStackHelper.cpp
index e077b9a09234b..44e07a1ffd85e 100644
--- a/toolkit/components/backgroundhangmonitor/ThreadStackHelper.cpp
+++ b/toolkit/components/backgroundhangmonitor/ThreadStackHelper.cpp
@@ -284,7 +284,7 @@ void ThreadStackHelper::CollectProfilingStackFrame(
         buffer[sizeof(buffer) - 1] = kTruncationIndicator;
         len = sizeof(buffer);
       }
-      if (MaybeAppendDynamicStackFrame(MakeSpan(buffer, len))) {
+      if (MaybeAppendDynamicStackFrame(Span(buffer, len))) {
         return;
       }
     }
@@ -365,7 +365,7 @@ void ThreadStackHelper::CollectProfilingStackFrame(
     buffer[sizeof(buffer) - 1] = kTruncationIndicator;
     len = sizeof(buffer);
   }
-  if (MaybeAppendDynamicStackFrame(MakeSpan(buffer, len))) {
+  if (MaybeAppendDynamicStackFrame(Span(buffer, len))) {
     return;
   }
 
diff --git a/toolkit/components/extensions/webrequest/StreamFilterParent.cpp b/toolkit/components/extensions/webrequest/StreamFilterParent.cpp
index e1ac3aa157a85..346abf1565312 100644
--- a/toolkit/components/extensions/webrequest/StreamFilterParent.cpp
+++ b/toolkit/components/extensions/webrequest/StreamFilterParent.cpp
@@ -355,7 +355,7 @@ nsresult StreamFilterParent::Write(Data& aData) {
   nsCOMPtr<nsIInputStream> stream;
   nsresult rv = NS_NewByteInputStream(
       getter_AddRefs(stream),
-      MakeSpan(reinterpret_cast<char*>(aData.Elements()), aData.Length()),
+      Span(reinterpret_cast<char*>(aData.Elements()), aData.Length()),
       NS_ASSIGNMENT_DEPEND);
   NS_ENSURE_SUCCESS(rv, rv);
 
diff --git a/toolkit/components/osfile/NativeOSFileInternals.cpp b/toolkit/components/osfile/NativeOSFileInternals.cpp
index 140c016b5c182..5f05ea3538140 100644
--- a/toolkit/components/osfile/NativeOSFileInternals.cpp
+++ b/toolkit/components/osfile/NativeOSFileInternals.cpp
@@ -826,7 +826,7 @@ class DoReadToStringEvent final : public AbstractReadEvent {
                  ScopedArrayBufferContents& aBuffer) override {
     MOZ_ASSERT(!NS_IsMainThread());
 
-    auto src = MakeSpan(aBuffer.get().data, aBuffer.get().nbytes);
+    auto src = Span(aBuffer.get().data, aBuffer.get().nbytes);
 
     CheckedInt<size_t> needed = mDecoder->MaxUTF16BufferLength(src.Length());
     if (!needed.isValid() ||
diff --git a/toolkit/mozapps/extensions/AddonManagerStartup.cpp b/toolkit/mozapps/extensions/AddonManagerStartup.cpp
index ba1f2fb17c7eb..efe1affba9897 100644
--- a/toolkit/mozapps/extensions/AddonManagerStartup.cpp
+++ b/toolkit/mozapps/extensions/AddonManagerStartup.cpp
@@ -648,7 +648,7 @@ nsresult AddonManagerStartup::EnumerateJARSubtree(nsIURI* uri,
   pattern.SetCapacity(entry.Length());
 
   // The first character of the entry name is "/", which we want to skip.
-  for (auto chr : MakeSpan(Substring(entry, 1))) {
+  for (auto chr : Span(Substring(entry, 1))) {
     if (metaChars.FindChar(chr) >= 0) {
       pattern.Append('\\');
     }
diff --git a/tools/fuzzing/interface/FuzzingInterfaceStream.h b/tools/fuzzing/interface/FuzzingInterfaceStream.h
index ec0e32d0d0c1b..eb5637c844a12 100644
--- a/tools/fuzzing/interface/FuzzingInterfaceStream.h
+++ b/tools/fuzzing/interface/FuzzingInterfaceStream.h
@@ -66,7 +66,7 @@ void afl_interface_stream(const char* testFile, FuzzingTestFuncStream testFunc);
       if (size > INT32_MAX) return 0;                                          \
       nsCOMPtr<nsIInputStream> stream;                                         \
       nsresult rv = NS_NewByteInputStream(getter_AddRefs(stream),              \
-                                          MakeSpan((const char*)data, size),   \
+                                          Span((const char*)data, size),       \
                                           NS_ASSIGNMENT_DEPEND);               \
       MOZ_RELEASE_ASSERT(NS_SUCCEEDED(rv));                                    \
       testFunc(stream.forget());                                               \
diff --git a/uriloader/exthandler/ExternalHelperAppParent.cpp b/uriloader/exthandler/ExternalHelperAppParent.cpp
index 070105f7c1619..378df8ca3c8bd 100644
--- a/uriloader/exthandler/ExternalHelperAppParent.cpp
+++ b/uriloader/exthandler/ExternalHelperAppParent.cpp
@@ -136,9 +136,8 @@ mozilla::ipc::IPCResult ExternalHelperAppParent::RecvOnDataAvailable(
   MOZ_ASSERT(mPending, "must be pending!");
 
   nsCOMPtr<nsIInputStream> stringStream;
-  DebugOnly<nsresult> rv =
-      NS_NewByteInputStream(getter_AddRefs(stringStream),
-                            MakeSpan(data).To(count), NS_ASSIGNMENT_DEPEND);
+  DebugOnly<nsresult> rv = NS_NewByteInputStream(
+      getter_AddRefs(stringStream), Span(data).To(count), NS_ASSIGNMENT_DEPEND);
   NS_ASSERTION(NS_SUCCEEDED(rv), "failed to create dependent string!");
   mStatus = mListener->OnDataAvailable(this, stringStream, offset, count);
 
diff --git a/widget/cocoa/nsClipboard.mm b/widget/cocoa/nsClipboard.mm
index 0b49230408002..0879af74d2243 100644
--- a/widget/cocoa/nsClipboard.mm
+++ b/widget/cocoa/nsClipboard.mm
@@ -286,10 +286,9 @@ nsresult nsClipboard::TransferableFromPasteboard(nsITransferable* aTransferable,
       if (successfullyConverted) {
         // Put the converted data in a form Gecko can understand
         nsCOMPtr<nsIInputStream> byteStream;
-        NS_NewByteInputStream(
-            getter_AddRefs(byteStream),
-            mozilla::MakeSpan((const char*)[encodedData bytes], [encodedData length]),
-            NS_ASSIGNMENT_COPY);
+        NS_NewByteInputStream(getter_AddRefs(byteStream),
+                              mozilla::Span((const char*)[encodedData bytes], [encodedData length]),
+                              NS_ASSIGNMENT_COPY);
 
         aTransferable->SetTransferData(flavorStr.get(), byteStream);
       }
diff --git a/widget/gtk/WidgetStyleCache.cpp b/widget/gtk/WidgetStyleCache.cpp
index 3e980af778604..b14ac1652f2d0 100644
--- a/widget/gtk/WidgetStyleCache.cpp
+++ b/widget/gtk/WidgetStyleCache.cpp
@@ -630,7 +630,7 @@ static void CreateHeaderBarButtons() {
   ButtonLayout buttonLayout[TOOLBAR_BUTTONS];
 
   size_t activeButtons =
-      GetGtkHeaderBarButtonLayout(mozilla::MakeSpan(buttonLayout), nullptr);
+      GetGtkHeaderBarButtonLayout(mozilla::Span(buttonLayout), nullptr);
 
   if (IsToolbarButtonEnabled(buttonLayout, activeButtons,
                              MOZ_GTK_HEADER_BAR_BUTTON_MINIMIZE)) {
diff --git a/widget/gtk/gtk3drawing.cpp b/widget/gtk/gtk3drawing.cpp
index bfb731a202b6b..acbd1cc0d839c 100644
--- a/widget/gtk/gtk3drawing.cpp
+++ b/widget/gtk/gtk3drawing.cpp
@@ -457,7 +457,7 @@ static void EnsureToolbarMetrics(void) {
     // Calculate titlebar button visibility and positions.
     ButtonLayout aButtonLayout[TOOLBAR_BUTTONS];
     size_t activeButtonNums =
-        GetGtkHeaderBarButtonLayout(mozilla::MakeSpan(aButtonLayout), nullptr);
+        GetGtkHeaderBarButtonLayout(mozilla::Span(aButtonLayout), nullptr);
 
     for (size_t i = 0; i < activeButtonNums; i++) {
       int buttonIndex =
diff --git a/widget/gtk/nsClipboard.cpp b/widget/gtk/nsClipboard.cpp
index 83996184f8eae..42807845fb8d7 100644
--- a/widget/gtk/nsClipboard.cpp
+++ b/widget/gtk/nsClipboard.cpp
@@ -277,7 +277,7 @@ nsClipboard::GetData(nsITransferable* aTransferable, int32_t aWhichClipboard) {
 
       nsCOMPtr<nsIInputStream> byteStream;
       NS_NewByteInputStream(getter_AddRefs(byteStream),
-                            MakeSpan(clipboardData, clipboardDataLength),
+                            Span(clipboardData, clipboardDataLength),
                             NS_ASSIGNMENT_COPY);
       aTransferable->SetTransferData(flavorStr.get(), byteStream);
       LOGCLIP(("    got %s MIME data\n", flavorStr.get()));
@@ -735,7 +735,7 @@ bool ConvertHTMLtoUCS2(const char* data, int32_t dataLength, nsCString& charset,
       return false;
     }
 
-    auto dataSpan = MakeSpan(data, dataLength);
+    auto dataSpan = Span(data, dataLength);
     // Remove kHTMLMarkupPrefix again, it won't necessarily cause any
     // issues, but might confuse other users.
     const size_t prefixLen = ArrayLength(kHTMLMarkupPrefix) - 1;
@@ -761,7 +761,7 @@ bool ConvertHTMLtoUCS2(const char* data, int32_t dataLength, nsCString& charset,
       size_t written;
       bool hadErrors;
       Tie(result, read, written, hadErrors) = decoder->DecodeToUTF16(
-          AsBytes(dataSpan), MakeSpan(*unicodeData, needed.value()), true);
+          AsBytes(dataSpan), Span(*unicodeData, needed.value()), true);
       MOZ_ASSERT(result == kInputEmpty);
       MOZ_ASSERT(read == size_t(dataSpan.Length()));
       MOZ_ASSERT(written <= needed.value());
diff --git a/widget/gtk/nsLookAndFeel.cpp b/widget/gtk/nsLookAndFeel.cpp
index 7107aab6e2e5c..2aa16e5d45bb4 100644
--- a/widget/gtk/nsLookAndFeel.cpp
+++ b/widget/gtk/nsLookAndFeel.cpp
@@ -1278,8 +1278,8 @@ void nsLookAndFeel::EnsureInit() {
   // as -moz-gtk* media features.
   ButtonLayout buttonLayout[TOOLBAR_BUTTONS];
 
-  size_t activeButtons = GetGtkHeaderBarButtonLayout(MakeSpan(buttonLayout),
-                                                     &mCSDReversedPlacement);
+  size_t activeButtons =
+      GetGtkHeaderBarButtonLayout(Span(buttonLayout), &mCSDReversedPlacement);
   for (size_t i = 0; i < activeButtons; i++) {
     // We check if a button is represented on the right side of the tabbar.
     // Then we assign it a value from 3 to 5, instead of 0 to 2 when it is on
diff --git a/xpcom/build/Omnijar.cpp b/xpcom/build/Omnijar.cpp
index 691bb12c9eac6..8f670cd935d82 100644
--- a/xpcom/build/Omnijar.cpp
+++ b/xpcom/build/Omnijar.cpp
@@ -123,7 +123,7 @@ void Omnijar::InitOne(nsIFile* aPath, Type aType) {
     }
   } else {
     if (NS_FAILED(zipReader->LazyOpenArchive(
-            file, MakeSpan(centralBuf, centralBufLength)))) {
+            file, Span(centralBuf, centralBufLength)))) {
       return;
     }
   }
@@ -398,7 +398,7 @@ nsresult CacheAwareZipReader::GetPersistentHandle(
     MOZ_ASSERT(aItem->RealSize() == aItem->Size());
     const uint8_t* data = mZip->GetData(aItem);
     if (data) {
-      aHandle->mDataToCache = MakeSpan(data, aItem->Size());
+      aHandle->mDataToCache = Span(data, aItem->Size());
     }
   }
 
diff --git a/xpcom/ds/nsTArray.h b/xpcom/ds/nsTArray.h
index 8445935aab6fc..9ae01d9ee1e95 100644
--- a/xpcom/ds/nsTArray.h
+++ b/xpcom/ds/nsTArray.h
@@ -3190,7 +3190,7 @@ class nsTArrayView {
 template <class E, class Alloc>
 std::ostream& operator<<(std::ostream& aOut,
                          const nsTArray_Impl<E, Alloc>& aTArray) {
-  return aOut << mozilla::MakeSpan(aTArray);
+  return aOut << mozilla::Span(aTArray);
 }
 
 // Assert that AutoTArray doesn't have any extra padding inside.
diff --git a/xpcom/io/nsBinaryStream.cpp b/xpcom/io/nsBinaryStream.cpp
index 1232cec0cdbdd..cc39540a50be8 100644
--- a/xpcom/io/nsBinaryStream.cpp
+++ b/xpcom/io/nsBinaryStream.cpp
@@ -43,7 +43,6 @@
 #include "js/Value.h"       // JS::Value
 
 using mozilla::AsBytes;
-using mozilla::MakeSpan;
 using mozilla::MakeUnique;
 using mozilla::PodCopy;
 using mozilla::Span;
@@ -221,7 +220,7 @@ nsBinaryOutputStream::WriteWStringZ(const char16_t* aString) {
   }
 
 #ifdef IS_BIG_ENDIAN
-  rv = WriteBytes(AsBytes(MakeSpan(aString, length)));
+  rv = WriteBytes(AsBytes(Span(aString, length)));
 #else
   // XXX use WriteSegments here to avoid copy!
   char16_t* copy;
@@ -236,7 +235,7 @@ nsBinaryOutputStream::WriteWStringZ(const char16_t* aString) {
   }
   NS_ASSERTION((uintptr_t(aString) & 0x1) == 0, "aString not properly aligned");
   mozilla::NativeEndian::copyAndSwapToBigEndian(copy, aString, length);
-  rv = WriteBytes(AsBytes(MakeSpan(copy, length)));
+  rv = WriteBytes(AsBytes(Span(copy, length)));
   if (copy != temp) {
     free(copy);
   }
@@ -267,7 +266,7 @@ nsresult nsBinaryOutputStream::WriteBytes(Span<const uint8_t> aBytes) {
 
 NS_IMETHODIMP
 nsBinaryOutputStream::WriteBytesFromJS(const char* aString, uint32_t aLength) {
-  return WriteBytes(AsBytes(MakeSpan(aString, aLength)));
+  return WriteBytes(AsBytes(Span(aString, aLength)));
 }
 
 NS_IMETHODIMP
diff --git a/xpcom/io/nsEscape.cpp b/xpcom/io/nsEscape.cpp
index 8a3bc19cc16fb..2d5f4bd1ee2a2 100644
--- a/xpcom/io/nsEscape.cpp
+++ b/xpcom/io/nsEscape.cpp
@@ -393,7 +393,7 @@ bool NS_EscapeURL(const char* aPart, int32_t aPartLen, uint32_t aFlags,
     partLen = aPartLen;
   }
 
-  return NS_EscapeURLSpan(mozilla::MakeSpan(aPart, partLen), aFlags, aResult);
+  return NS_EscapeURLSpan(mozilla::Span(aPart, partLen), aFlags, aResult);
 }
 
 bool NS_EscapeURLSpan(mozilla::Span<const char> aStr, uint32_t aFlags,
diff --git a/xpcom/string/nsReadableUtils.cpp b/xpcom/string/nsReadableUtils.cpp
index b420ab5dc08e1..937888c408a42 100644
--- a/xpcom/string/nsReadableUtils.cpp
+++ b/xpcom/string/nsReadableUtils.cpp
@@ -17,7 +17,7 @@
 #include "nsTArray.h"
 #include "nsUTF8Utils.h"
 
-using mozilla::MakeSpan;
+using mozilla::Span;
 
 /**
  * A helper function that allocates a buffer of the desired character type big
@@ -49,7 +49,7 @@ char* ToNewCString(const nsAString& aSource,
   }
 
   auto len = aSource.Length();
-  LossyConvertUtf16toLatin1(aSource, MakeSpan(dest, len));
+  LossyConvertUtf16toLatin1(aSource, Span(dest, len));
   dest[len] = 0;
   return dest;
 }
@@ -76,7 +76,7 @@ char* ToNewUTF8String(const nsAString& aSource, uint32_t* aUTF8Count,
     return nullptr;
   }
 
-  size_t written = ConvertUtf16toUtf8(aSource, MakeSpan(dest, destLenVal));
+  size_t written = ConvertUtf16toUtf8(aSource, Span(dest, destLenVal));
   dest[written] = 0;
 
   if (aUTF8Count) {
@@ -158,7 +158,7 @@ char16_t* ToNewUnicode(const nsACString& aSource,
   }
 
   auto len = aSource.Length();
-  ConvertLatin1toUtf16(aSource, MakeSpan(dest, len));
+  ConvertLatin1toUtf16(aSource, Span(dest, len));
   dest[len] = 0;
   return dest;
 }
@@ -183,7 +183,7 @@ char16_t* UTF8ToNewUnicode(const nsACString& aSource, uint32_t* aUTF16Count,
     return nullptr;
   }
 
-  size_t written = ConvertUtf8toUtf16(aSource, MakeSpan(dest, lengthPlusOne));
+  size_t written = ConvertUtf8toUtf16(aSource, Span(dest, lengthPlusOne));
   dest[written] = 0;
 
   if (aUTF16Count) {
diff --git a/xpcom/string/nsReadableUtils.h b/xpcom/string/nsReadableUtils.h
index 4aa05c487a5ad..7a1b6edf1d00d 100644
--- a/xpcom/string/nsReadableUtils.h
+++ b/xpcom/string/nsReadableUtils.h
@@ -420,7 +420,7 @@ char16_t* CopyUnicodeTo(const nsAString& aSource, uint32_t aSrcOffset,
   if (!ptr) {
     return false;
   }
-  auto span = mozilla::MakeSpan(ptr, len);
+  auto span = mozilla::Span(ptr, len);
   span[upTo] = 0xFFFD;
   mozilla::EnsureUtf16ValiditySpan(span.From(upTo + 1));
   return true;
diff --git a/xpcom/string/nsTextFormatter.h b/xpcom/string/nsTextFormatter.h
index f55945c04045a..f571043da2cef 100644
--- a/xpcom/string/nsTextFormatter.h
+++ b/xpcom/string/nsTextFormatter.h
@@ -53,7 +53,7 @@ class nsTextFormatter {
                            const char16_t* aFmt, T... aArgs) {
     BoxedValue values[] = {BoxedValue(aArgs)...};
     return vsnprintf(aOut, aOutLen, aFmt,
-                     mozilla::MakeSpan(values, sizeof...(aArgs)));
+                     mozilla::Span(values, sizeof...(aArgs)));
   }
 
   /*
@@ -63,7 +63,7 @@ class nsTextFormatter {
   template <typename... T>
   static void ssprintf(nsAString& aOut, const char16_t* aFmt, T... aArgs) {
     BoxedValue values[] = {BoxedValue(aArgs)...};
-    vssprintf(aOut, aFmt, mozilla::MakeSpan(values, sizeof...(aArgs)));
+    vssprintf(aOut, aFmt, mozilla::Span(values, sizeof...(aArgs)));
   }
 
  private:
diff --git a/xpcom/tests/gtest/TestSnappyStreams.cpp b/xpcom/tests/gtest/TestSnappyStreams.cpp
index ac6f9ca46325d..e4559bc987c6f 100644
--- a/xpcom/tests/gtest/TestSnappyStreams.cpp
+++ b/xpcom/tests/gtest/TestSnappyStreams.cpp
@@ -85,7 +85,7 @@ static void TestUncompressCorrupt(const char* aCorruptData,
                                   uint32_t aCorruptLength) {
   nsCOMPtr<nsIInputStream> source;
   nsresult rv = NS_NewByteInputStream(
-      getter_AddRefs(source), mozilla::MakeSpan(aCorruptData, aCorruptLength),
+      getter_AddRefs(source), mozilla::Span(aCorruptData, aCorruptLength),
       NS_ASSIGNMENT_DEPEND);
   ASSERT_TRUE(NS_SUCCEEDED(rv));
 
diff --git a/xpcom/tests/gtest/TestStrings.cpp b/xpcom/tests/gtest/TestStrings.cpp
index 28a6eb7acb8eb..b00c7aeb4ab6a 100644
--- a/xpcom/tests/gtest/TestStrings.cpp
+++ b/xpcom/tests/gtest/TestStrings.cpp
@@ -43,7 +43,7 @@ using mozilla::BlackBox;
 using mozilla::fallible;
 using mozilla::IsAscii;
 using mozilla::IsUtf8;
-using mozilla::MakeSpan;
+using mozilla::Span;
 
 #define TestExample1                                                           \
   "Sed ut perspiciatis unde omnis iste natus error sit voluptatem "            \
@@ -168,11 +168,11 @@ class Strings : public ::testing::Test {
     mExample5Utf8.AssignASCII(TestExample5);
 
     // Use span to make the resulting string as ordinary as possible
-    mAsciiOneUtf8.Append(MakeSpan(mExample3Utf8).To(1));
-    mAsciiThreeUtf8.Append(MakeSpan(mExample3Utf8).To(3));
-    mAsciiFifteenUtf8.Append(MakeSpan(mExample3Utf8).To(15));
-    mAsciiHundredUtf8.Append(MakeSpan(mExample3Utf8).To(100));
-    mAsciiThousandUtf8.Append(MakeSpan(mExample3Utf8).To(1000));
+    mAsciiOneUtf8.Append(Span(mExample3Utf8).To(1));
+    mAsciiThreeUtf8.Append(Span(mExample3Utf8).To(3));
+    mAsciiFifteenUtf8.Append(Span(mExample3Utf8).To(15));
+    mAsciiHundredUtf8.Append(Span(mExample3Utf8).To(100));
+    mAsciiThousandUtf8.Append(Span(mExample3Utf8).To(1000));
 
     ReadFile("ar.txt", mArUtf8);
     ReadFile("de.txt", mDeUtf8);
@@ -208,65 +208,65 @@ class Strings : public ::testing::Test {
     LossyCopyUTF16toASCII(mDeEditUtf16, mDeEditLatin1);
 
     // Use span to make the resulting string as ordinary as possible
-    mArOneUtf16.Append(MakeSpan(mArUtf16).To(1));
-    mDeOneUtf16.Append(MakeSpan(mDeUtf16).To(1));
-    mDeEditOneUtf16.Append(MakeSpan(mDeEditUtf16).To(1));
-    mRuOneUtf16.Append(MakeSpan(mRuUtf16).To(1));
-    mThOneUtf16.Append(MakeSpan(mThUtf16).To(1));
-    mJaOneUtf16.Append(MakeSpan(mJaUtf16).To(1));
-    mKoOneUtf16.Append(MakeSpan(mKoUtf16).To(1));
-    mTrOneUtf16.Append(MakeSpan(mTrUtf16).To(1));
-    mViOneUtf16.Append(MakeSpan(mViUtf16).To(1));
-
-    mDeEditOneLatin1.Append(MakeSpan(mDeEditLatin1).To(1));
-
-    mArThreeUtf16.Append(MakeSpan(mArUtf16).To(3));
-    mDeThreeUtf16.Append(MakeSpan(mDeUtf16).To(3));
-    mDeEditThreeUtf16.Append(MakeSpan(mDeEditUtf16).To(3));
-    mRuThreeUtf16.Append(MakeSpan(mRuUtf16).To(3));
-    mThThreeUtf16.Append(MakeSpan(mThUtf16).To(3));
-    mJaThreeUtf16.Append(MakeSpan(mJaUtf16).To(3));
-    mKoThreeUtf16.Append(MakeSpan(mKoUtf16).To(3));
-    mTrThreeUtf16.Append(MakeSpan(mTrUtf16).To(3));
-    mViThreeUtf16.Append(MakeSpan(mViUtf16).To(3));
-
-    mDeEditThreeLatin1.Append(MakeSpan(mDeEditLatin1).To(3));
-
-    mArFifteenUtf16.Append(MakeSpan(mArUtf16).To(15));
-    mDeFifteenUtf16.Append(MakeSpan(mDeUtf16).To(15));
-    mDeEditFifteenUtf16.Append(MakeSpan(mDeEditUtf16).To(15));
-    mRuFifteenUtf16.Append(MakeSpan(mRuUtf16).To(15));
-    mThFifteenUtf16.Append(MakeSpan(mThUtf16).To(15));
-    mJaFifteenUtf16.Append(MakeSpan(mJaUtf16).To(15));
-    mKoFifteenUtf16.Append(MakeSpan(mKoUtf16).To(15));
-    mTrFifteenUtf16.Append(MakeSpan(mTrUtf16).To(15));
-    mViFifteenUtf16.Append(MakeSpan(mViUtf16).To(15));
-
-    mDeEditFifteenLatin1.Append(MakeSpan(mDeEditLatin1).To(15));
-
-    mArHundredUtf16.Append(MakeSpan(mArUtf16).To(100));
-    mDeHundredUtf16.Append(MakeSpan(mDeUtf16).To(100));
-    mDeEditHundredUtf16.Append(MakeSpan(mDeEditUtf16).To(100));
-    mRuHundredUtf16.Append(MakeSpan(mRuUtf16).To(100));
-    mThHundredUtf16.Append(MakeSpan(mThUtf16).To(100));
-    mJaHundredUtf16.Append(MakeSpan(mJaUtf16).To(100));
-    mKoHundredUtf16.Append(MakeSpan(mKoUtf16).To(100));
-    mTrHundredUtf16.Append(MakeSpan(mTrUtf16).To(100));
-    mViHundredUtf16.Append(MakeSpan(mViUtf16).To(100));
-
-    mDeEditHundredLatin1.Append(MakeSpan(mDeEditLatin1).To(100));
-
-    mArThousandUtf16.Append(MakeSpan(mArUtf16).To(1000));
-    mDeThousandUtf16.Append(MakeSpan(mDeUtf16).To(1000));
-    mDeEditThousandUtf16.Append(MakeSpan(mDeEditUtf16).To(1000));
-    mRuThousandUtf16.Append(MakeSpan(mRuUtf16).To(1000));
-    mThThousandUtf16.Append(MakeSpan(mThUtf16).To(1000));
-    mJaThousandUtf16.Append(MakeSpan(mJaUtf16).To(1000));
-    mKoThousandUtf16.Append(MakeSpan(mKoUtf16).To(1000));
-    mTrThousandUtf16.Append(MakeSpan(mTrUtf16).To(1000));
-    mViThousandUtf16.Append(MakeSpan(mViUtf16).To(1000));
-
-    mDeEditThousandLatin1.Append(MakeSpan(mDeEditLatin1).To(1000));
+    mArOneUtf16.Append(Span(mArUtf16).To(1));
+    mDeOneUtf16.Append(Span(mDeUtf16).To(1));
+    mDeEditOneUtf16.Append(Span(mDeEditUtf16).To(1));
+    mRuOneUtf16.Append(Span(mRuUtf16).To(1));
+    mThOneUtf16.Append(Span(mThUtf16).To(1));
+    mJaOneUtf16.Append(Span(mJaUtf16).To(1));
+    mKoOneUtf16.Append(Span(mKoUtf16).To(1));
+    mTrOneUtf16.Append(Span(mTrUtf16).To(1));
+    mViOneUtf16.Append(Span(mViUtf16).To(1));
+
+    mDeEditOneLatin1.Append(Span(mDeEditLatin1).To(1));
+
+    mArThreeUtf16.Append(Span(mArUtf16).To(3));
+    mDeThreeUtf16.Append(Span(mDeUtf16).To(3));
+    mDeEditThreeUtf16.Append(Span(mDeEditUtf16).To(3));
+    mRuThreeUtf16.Append(Span(mRuUtf16).To(3));
+    mThThreeUtf16.Append(Span(mThUtf16).To(3));
+    mJaThreeUtf16.Append(Span(mJaUtf16).To(3));
+    mKoThreeUtf16.Append(Span(mKoUtf16).To(3));
+    mTrThreeUtf16.Append(Span(mTrUtf16).To(3));
+    mViThreeUtf16.Append(Span(mViUtf16).To(3));
+
+    mDeEditThreeLatin1.Append(Span(mDeEditLatin1).To(3));
+
+    mArFifteenUtf16.Append(Span(mArUtf16).To(15));
+    mDeFifteenUtf16.Append(Span(mDeUtf16).To(15));
+    mDeEditFifteenUtf16.Append(Span(mDeEditUtf16).To(15));
+    mRuFifteenUtf16.Append(Span(mRuUtf16).To(15));
+    mThFifteenUtf16.Append(Span(mThUtf16).To(15));
+    mJaFifteenUtf16.Append(Span(mJaUtf16).To(15));
+    mKoFifteenUtf16.Append(Span(mKoUtf16).To(15));
+    mTrFifteenUtf16.Append(Span(mTrUtf16).To(15));
+    mViFifteenUtf16.Append(Span(mViUtf16).To(15));
+
+    mDeEditFifteenLatin1.Append(Span(mDeEditLatin1).To(15));
+
+    mArHundredUtf16.Append(Span(mArUtf16).To(100));
+    mDeHundredUtf16.Append(Span(mDeUtf16).To(100));
+    mDeEditHundredUtf16.Append(Span(mDeEditUtf16).To(100));
+    mRuHundredUtf16.Append(Span(mRuUtf16).To(100));
+    mThHundredUtf16.Append(Span(mThUtf16).To(100));
+    mJaHundredUtf16.Append(Span(mJaUtf16).To(100));
+    mKoHundredUtf16.Append(Span(mKoUtf16).To(100));
+    mTrHundredUtf16.Append(Span(mTrUtf16).To(100));
+    mViHundredUtf16.Append(Span(mViUtf16).To(100));
+
+    mDeEditHundredLatin1.Append(Span(mDeEditLatin1).To(100));
+
+    mArThousandUtf16.Append(Span(mArUtf16).To(1000));
+    mDeThousandUtf16.Append(Span(mDeUtf16).To(1000));
+    mDeEditThousandUtf16.Append(Span(mDeEditUtf16).To(1000));
+    mRuThousandUtf16.Append(Span(mRuUtf16).To(1000));
+    mThThousandUtf16.Append(Span(mThUtf16).To(1000));
+    mJaThousandUtf16.Append(Span(mJaUtf16).To(1000));
+    mKoThousandUtf16.Append(Span(mKoUtf16).To(1000));
+    mTrThousandUtf16.Append(Span(mTrUtf16).To(1000));
+    mViThousandUtf16.Append(Span(mViUtf16).To(1000));
+
+    mDeEditThousandLatin1.Append(Span(mDeEditLatin1).To(1000));
 
     CopyUTF16toUTF8(mArOneUtf16, mArOneUtf8);
     CopyUTF16toUTF8(mDeOneUtf16, mDeOneUtf8);
-- 
GitLab