diff --git a/dom/base/BodyUtil.cpp b/dom/base/BodyUtil.cpp
index e93332ef0d1420f0698290e40cda6b917d7f04fc..abf43728ab3734cbaaef248eebcd1cec45ea5ffb 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 9033f834648d28e6efaf9a6d200136943d1ab4d4..a197f2fa192d0cd3d8dfe07dd7c08b80cd178ab7 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 d897aeb46018f71c3e131596edfe882fc5a71c9e..abb89133bc9ea7e4a70296174bd885e22db82d3d 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 a0777976da07d163b1862f08b16cb493d5475f2f..bc6ef02c74e5a99bd4ed1763e290c141cba54b82 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 4429ac6940eec9042998785c8f0d98a9393de315..59a9f3790104e0f3d2612b163f0190806eb2cf04 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 c7a7850aeef90528189bd9275f848f07ff5ff59e..dca0347eaf7a5e1bd8a993920347792f876ee468 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 f4a6216a4c75ad7aab84e3833e2d3dc393b386e6..be7c23fa81a5a801febcacdcca0062b56573b1d4 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 a0b4800cf87253bfcb42341ceb9b59b3d5f2584b..a851def01c6d4a3629bfc17ec256028f51ab86a1 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 0c91fe8f758e0a33e1fd905961c4a56a1276c943..f6f37bb88735a415c1fa4cc71f89781a1805cbcf 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 8d51d5b65dcfa6ac1c39c0135396589c77e6dd58..55980599bf0f96fe21cfbd93e1f3a870ef21aa59 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 8718ca7b6134d9f5c26caa4b04ffc1dc90417ec0..8d32d898334b942ef8f139835ff85d066a9db862 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 871c2055ff7aa73653b024e2ec6f1a758fd6c6d2..3cb606739b26bd2b6bf70a3b2810bde0c5dc4369 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 e396645dd403535701f3338bc9ded291d034c49a..f29a19dde476be1aabf74b04da52977ea5401a90 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 655236049cd36fa204b55a1e7056362c9264c357..0414adaeb3a23bae289656177747c167324e6ca2 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 58c974cf39f960c5fe2aea5fa31d22d04d77419c..7217dbed3c59c364d9775b31b65bda3198e12672 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 fcb9814b9bd7d1367229da7ed1c49c9f9d01642e..b58633cc318fc0b56725747065a8c4c521eaddde 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 f94fc9cf76bda78719b86c111e0f7597f1a34658..4f27be600259d5d9421d59c0d1daf4468fe39db1 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 87ec0cfbce95dbc6f396de3d76dd7e6b9151617c..0b6a6a3891838581b66e3db8c88641e594c10ea0 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 0a4bbcad7a40d4f9a321ac35837686521c6b048d..d7809ae69286932c7076ff5b3357cf388c9bfec8 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 8c5318fd38717a921347420ba39d1eaf85a41f1e..dc27aab96820a5b6387e14ac5ae5e1be377c1bb1 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 34050344a580b686510f9247b8299bc23f2682fd..7cf4a0dfcef71b3bbe94c5677f8ffe5cb5d898c6 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 32e18ca777faafe5aee30ec5fdfc4a1233cf5c78..b00a73eb3d7467851f21f787a508bbab6a363356 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 1276063e3b04a6540995da05693053fd753de652..4773515de5873b4ba377d5c5888a38bcb7e89ae4 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 c0d14a6663be321fea84d1e9d0047f5cf8139003..59bba1657704fa03c22a221ee04049120313e6bc 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 3108f9d896041129d8c60abcd93735889c80447d..74cccb0b801fe81b75e66b6b1c114978de967bc5 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 7b40e9003d13504ecdba8eed7a9bee39ca85abff..43a8be1fa51ef2fa75be2730fa287e439f57c07c 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 c4b6179d27e0e16a0f16b1679ae15fc1585d4dc1..e1058fc8a3bfda6268ec81aa08ac242f4bf1c7dc 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 2c8999c10b0c1f3f3ae8163e557cc5713fff33c4..2bb5ed7f7b39b83232fec502105f1c299b8da532 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 ea939d3d395093fdaf7a6c52274accd9d7a65d82..47e5025aab9c013ed25e1dca59d8b569cf2e1351 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 92e0a62f52d5b685b63350ea3df7077e934d6913..52dc517737f528ce7d3c782a9147e760a9a01587 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 2ea5ba8296eba852943687b69f209306121b9380..ccffa378f18ea5e3046c5d5c30f26d4c20c98b6f 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 690f286273fa42f47319319dd4d3a88774c1cd5c..bf98002a5645f9e50fa782b9e48a7e42a05a4494 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 9302596c07e923c8ce51d0df23438e86bbfb86c7..c076cd577e578c252f19ff15baa8e9336948110d 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 f79a942e74cc55c75790985b0ba81ac2cfd12321..d0654ad9fff5d87cd536da1dc7634949a8454abd 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 be436dfa0e062e89cfb81a1b63214f24ec53f15b..355f461fa6838f9a1be338bea2250be2f32d08a6 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 b02fc91fa858586e70476434d94be966e855acb7..8e01d2a55e6200b1d8611d315a89dc1fc831ea64 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 2fcc7eda2640fe7e732dd52c805383ac7fe88103..7d1a4d66737f7d7702ee7fbad07014851376af28 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 a9485bac4b411d770f360eaff7d408559b2c7948..fd4d49189d8a34be931f3f030b45996b39cd6f3d 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 19ea35e2c1269f351c4c099a5f4ccba12fbed2b9..5cb72fdb7596291f78f9e870557a7ee63c6375c2 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 deb1a4e25b4b4cc50cd2fda30d0c3f8db6224ac2..014ddaecbca18a1ca878abbd19294b2031562fad 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 7c3847b079a08c348f264df51d7625bb24329fcf..6a0b17f206aff01a9f5b043ecdd8ca1ab9d57bb5 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 a2901ab7a68651e9365a58c99ebe518b73a43dbd..d4b0becc0b5cc05aec22b719629b0ebdb6ebad2c 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 2328d580fa65c1ab5e6581345d67ac271f861cbf..b8cd5dc2d238ab654992ebf5c6062a4ecff0de3e 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 4c857f5875161480c3b25557a86c5df46d921705..d581164eb017d3d3def6c5a0084735a2618bc4ac 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 7b397dff36ad4a21e86c7b9c0c81e9b3aabdc64e..7ad7acfda2c0bb874c86f9a0b67559656cce01f5 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 a853fcbd17a55b1e83fa338fda60ee90a92f13bd..942da4e7dcd151989313c95a7f0aa4ebd09e58b5 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 84f1424adc20b50bba0c80f4a6617fe4c13d72e9..92937731c49afd89eaf5063c809203eebfc63207 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 41e9d578f91d025a45d0760cd68ff48df95a8e9d..8e5a282ef82a8ad81ddffe5c5e17add5dc2ff670 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 fdef775bebbfe01e75c35d9a6c7e67f031992253..63469869759a9a1f3be0d441c6a4e694efad3a15 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 43caa48cfa0219b64d6be2b4ecd71bb2a8c69fc3..d5d75c5333e6b81f1ffc36ba80ba77b600590d8e 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 bdcaf9fec3530cd9162b877e2b666b365579c7e9..c036629e68d3c14253a5dc87ae016bdf5b492793 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 25d730032c9fbaac6585dd086d62cd1dd1522b08..14a571776a7ec3cd2bcf6f97f3f1ad7d07682083 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 617c5d79f159447b34417eec1b2a5c7f235c1077..d22a86f6a35d2c82d3a71ec91288b5656971b0cc 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 9455b1c956f4bf79aba4675659cc2c626ef703dc..6ce974806140e832beca2f1ef703565e7e53e3bf 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 70c4a90937086a37d78ad02dc2d74f1a8576962a..6b717d11f33511edc863c44b4e9f463ed4088442 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 7c85dd5cc0b1cf4ea6b7973f6792b34cfc50664b..95160ce885eae9c7a5299585f6056b689a191400 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 b0f877bb8e4ad980d30e22dfd04fe77e833720ad..8613bb8a10f1c25bb466283655389643da4a3666 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 f450be8b059d731115cdda041b108339def4575d..defd286bb7c7091effc2965d78fe5dcceb5fa6b1 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 7d2369bf9339d7322d8aba01ce7b9060940730dc..b451fc4e2b8869d9bb134d31bb26b99b80b91364 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 130cdb1f94dd4845ae37df20f4f8257cce8b12a6..4d174015c9a6a02a5f5e42cdf2a18784461517ef 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 655eb02de890f2a91aaf68d8182e6ce9d9e6d89e..1a7177ad84fa8af30d5cf3ef93746f88a18b216b 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 634b783e0abef95a5ae4212b1b59eb0b74fca19c..3796c74d62a2b8946bca8dcdd20b155f3ea51aa9 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 4e23c5fa89502910317b92ce8bef6309e8370c38..d6a345ece97c45cfaab3b263c0fd5bf61df89c9c 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 81aa72e09a00cedb7b6140746193795acf4d32e2..2c97b4a2a2ebb0453d34bc575c256f0dc99e6feb 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 57cfd2d6c523951640e53fd2f2f835d0f037a01b..b405d4979eced6ab9bb227048c5827cb1a149438 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 2558edd84fa80f284b623d5e64725647c9ea49eb..b2783e62093cc78226305dc5955a4a68b47d496a 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 18652cffba0971d428e39b481f95be65abcb51fa..ac91aa86b28eecd74ec000c60d92d6874ce076c5 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 0c0453077acdeecb4b1aa38fd0dd3cfea4ded550..41dd7af83d1101ef89abd7651bb1c9ee91d0a869 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 496e16aa964576a26f280384c257a1acf93479a3..b1510690042151749c89a253364c33f770a39187 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 2f0cae7521bc14bdb89447873ccd85c8ad8c3b95..fcf514e4b5eeb4479d1a3ae1c2e1978a053d01a9 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 fb1787338abac7b1808e2abd4b46c021ff4dc38f..f2f29661cc607b1e563a7e0a443ae4a0fb696f34 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 9f7a6d9867aace4b19261e0bb44d3313dd9ee4d4..1defa95b100b56f176f6bf2e335c71e41459a59e 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 1d28a68dd8d02fa1794951caa682c621ec5e514b..fc776acf15366389aa4289434aabfba8559c8181 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 c5f44043cf0db4ef6bf098a808e90853c05d606b..76eb7dcac546d43a69e4f0958bf07d0a2bfd72a0 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 cefa8aa5fc5597176be265ee1c813ca79f23ecff..fd77568ae666541e4dc4ebfca12fbd6caf5ab9f0 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 6590d4b5ed06f3855f6cb4c3307d216a32e186cd..3247b993c05cc7fe61b254a3504e8e71e0355893 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 01f731bd0245694a8b7a54511b775f42564ad9b2..f05530869bd1ce69c5c23b2994303390793a7b56 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 6c45803597d609f7c81ebee87ea814f6f08a478e..f0f47db12a3b3efbca49a3890924746c197339cd 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 f440e3f9ae29c82d3f7abfd50ce6c674e7993e8f..32dc3c7ebf6d6634b01fe61fa81aafb480cafb77 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 b3ba1f3754e84fc3a8ebf1a68e99d25777dcf912..e71e12eefeea577b6577a86593a609a5991413cd 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 7a15dab62026829a1666db4e98f1db3389e1a5f6..11d0ba0ed34fc4e3beca53941895df88af012ad3 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 f9d97783e5fc1f8a9e2be39f8998a796d32a40eb..fe57c1da0fa381af542d63e24555aea91a9d289d 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 388a146de93540b802b180d5a5c40cd926cd03bd..2e38d82337e8d969006eebc98277e3cea3de1a42 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 a06da99735dd7ee130952188d3144fb2d96bb49d..d3f61e144380092cd6bc363528df8d8b4bcbf53d 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 001a3a77b5a126d40c4fef16319e0758a58abdcc..167fee9bc96e2817b180e5933a63fb2bb1329d6c 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 8a99fff9cfc7778fd5085617ff673e5bac8c87e1..e838ccbe3c9cdacd10634a313bcfc5aa6efbb9cf 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 72fb857b5411cb92eb85b13aa246ddd6bf355aeb..16b2710118aec5430a52ed23d46f955ee6657343 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 330616020a559e6e958d951463248fc1a6fdbd8f..7e97c880fe9d4e6aba4675c1224abd0af1bd92a5 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 14047921ecb615298c8543d0f50b9fb8121fc028..4e933e57c8d8af753df752a652e3874f961f5f3d 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 62d54ed0618f755cd104976caf0cdc0d84acb4bb..28ef2d25bc130331793f4d5b5522c510c4a1e321 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 6b4342770dd7994a10c1808f87d6220c6a03a420..fe7f79aa1fd6532ff1dcec9f3c4a2501be339d74 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 381ca50d9b6741eb631971a1cc07b587d20d1e08..30b1fae72b0256265bf6c83f32841e0f436bf5cc 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 c589f25b66dc6cdf1cab66719c9426f508f752bf..f93984f0ae07264059593c700656edc054dbcb2a 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 cab70b53b89c2ffee349dbe6af63ce3be829d60e..bd62e08fe8ad2420d0ce38d6498b5f63d8ee9f5f 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 ec63ce242868cf09e40542c38138a405157c734a..0649c5f7143501ceacb4f17868526045ba204f49 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 a3d0022b070efe0d060a1ff58abf7b96b5ec5455..1af3468bd3c56bf0db157950d3021e1c67aae754 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 e4c4ac379472869f6bbf63b32c8309a14486c96b..7095ef9392caef2c127490eda85e95f4e7803626 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 46c9e55fa3fcc9dda98797a3db9fcbbe05e1967b..f788b1f39cae6e53c8fc258c44cd804ce1e99777 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 61671959fe8680dadb8666574e7b2bd06cfba342..40dbd6dd5937f24e04a3675e3a434fc2b5360208 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 d8cb518aaabe82869c2a9aa3b7a0695ccef0177d..0112bec9faca84427ed4b96f751d7043b8935930 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 9507beafba6f19106ea6a8b673f1b9a9eb495309..3a3e53456d13ed44cf165f843a4279a2b674616a 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 58c6927e15fc0c10a70a9af8e38ddcad062e5754..efa3bb3bf576e6cde4790f8b1d07e63796a60a2d 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 304f2d17b061baf12ad3b42cbc0e0f1ed354fb8e..2e587e4e14d8f6bfbf493e39e24738a9375fd26c 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 a52f1aec5d7601026c04cffc34bc02c8576ecd42..a33794d788088a2f193df5a75e16f0bec668bf26 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 36bb5f812ba23d09f126304e02e68afbcfcaa531..ca19b1d6cd399899861af7ef1b6f952d03245a4f 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 e077b9a09234b0963676300ba99c3c29e65ddd96..44e07a1ffd85ef9914576fcc04045c04c3c8bf25 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 e1ac3aa157a85fcefb6f9eccd22b4fe121b715b4..346abf15653123d8e531e84f357699332dda8fca 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 140c016b5c182c1cddfd26f9f74795f79f9efd51..5f05ea353814011c55ea146cc46db72e49058a57 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 ba1f2fb17c7eb193007a3139b4f4ca242b999ad4..efe1affba989752cfdd95608593f842e1891c430 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 ec0e32d0d0c1ba506e57233b8e25aa0ea355b604..eb5637c844a1243808a7c1072a3a59b84517a5f0 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 070105f7c1619a8c7370fa1ad3408f5f7c9559e8..378df8ca3c8bd5d926aea5479d47d4e8c18a184a 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 0b492304080028d50920bca187d6faa8c05a4e28..0879af74d2243da6d50f2ae7b42d82516382598f 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 3e980af77860400449ebec10c698e0a2142dbf44..b14ac1652f2d0d712300b7034d90fe300cffbd61 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 bfb731a202b6bd8f1fe1113cb1bf7e96f29c3c72..acbd1cc0d839cd78bd7d565f6a09fa43ba33d582 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 83996184f8eae4848579a12636f7e1e5c223ed5c..42807845fb8d73bfb56535e9bede68b0570a0dde 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 7107aab6e2e5c0f7971f1a9c7725acf55f13ebbb..2aa16e5d45bb472c4c13789f264138f83b79fe9b 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 691bb12c9eac655862d6387897ccf7adea81fb5a..8f670cd935d82e8f69a6ae3fdf258663ec4e0c96 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 8445935aab6fc0d8f3894e627e3a7515f8aa9e0f..9ae01d9ee1e95c6b45df6661a817ade926ee29a8 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 1232cec0cdbddc88d4a0f7fefea834f736d1c3c3..cc39540a50be85d1c0baa7b415cf70a58cdbe761 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 8a3bc19cc16fb394415db1976d367379310858b8..2d5f4bd1ee2a23c4f52deb370501f51b23c7fec2 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 b420ab5dc08e1c7b724d8f3073b9752048935435..937888c408a422ca7533cbda2f720ca5514813f4 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 4aa05c487a5adff94ecafcf488c2ade5452cbfc6..7a1b6edf1d00d7eef5387ce3044c3dad34c6b0d3 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 f55945c04045ad9f956c70f34dd52037e9dcafba..f571043da2cef0e8ef614877ab0bb313fdaa9e10 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 ac6f9ca46325d53a5c67ce8bbec48e0f828f211d..e4559bc987c6f7d4d6b0c5b81343eb86933a0c05 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 28a6eb7acb8ebe3c6601798b69455e03e5cf1460..b00c7aeb4ab6a8516938ba406fadce28bf1b5c77 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);