diff --git a/accessible/xpcom/xpcAccessibleTextRange.h b/accessible/xpcom/xpcAccessibleTextRange.h index aef5ccb06adf..6a15a5fa4f70 100644 --- a/accessible/xpcom/xpcAccessibleTextRange.h +++ b/accessible/xpcom/xpcAccessibleTextRange.h @@ -63,7 +63,7 @@ public: private: explicit xpcAccessibleTextRange(TextRange&& aRange) : - mRange(Forward(aRange)) {} + mRange(std::forward(aRange)) {} xpcAccessibleTextRange() {} ~xpcAccessibleTextRange() {} diff --git a/devtools/shared/heapsnapshot/HeapSnapshot.cpp b/devtools/shared/heapsnapshot/HeapSnapshot.cpp index 187bba44a9a5..4ba20a69d40d 100644 --- a/devtools/shared/heapsnapshot/HeapSnapshot.cpp +++ b/devtools/shared/heapsnapshot/HeapSnapshot.cpp @@ -918,13 +918,13 @@ class TwoByteString : public Variant - MOZ_IMPLICIT TwoByteString(T&& rhs) : Base(Forward(rhs)) { } + MOZ_IMPLICIT TwoByteString(T&& rhs) : Base(std::forward(rhs)) { } template TwoByteString& operator=(T&& rhs) { MOZ_ASSERT(this != &rhs, "self-move disallowed"); this->~TwoByteString(); - new (this) TwoByteString(Forward(rhs)); + new (this) TwoByteString(std::forward(rhs)); return *this; } diff --git a/dom/animation/Animation.cpp b/dom/animation/Animation.cpp index 4cbc7833aeb7..99773bee3bd1 100644 --- a/dom/animation/Animation.cpp +++ b/dom/animation/Animation.cpp @@ -13,7 +13,7 @@ #include "mozilla/AutoRestore.h" #include "mozilla/AsyncEventDispatcher.h" // For AsyncEventDispatcher #include "mozilla/Maybe.h" // For Maybe -#include "mozilla/TypeTraits.h" // For Forward<> +#include "mozilla/TypeTraits.h" // For std::forward<> #include "nsAnimationManager.h" // For CSSAnimation #include "nsDOMMutationObserver.h" // For nsAutoAnimationMutationBatch #include "nsIDocument.h" // For nsIDocument diff --git a/dom/animation/EffectCompositor.cpp b/dom/animation/EffectCompositor.cpp index 0ac96e4e4416..2b71fb945c07 100644 --- a/dom/animation/EffectCompositor.cpp +++ b/dom/animation/EffectCompositor.cpp @@ -24,7 +24,7 @@ #include "mozilla/ServoBindings.h" // Servo_GetProperties_Overriding_Animation #include "mozilla/ServoStyleSet.h" #include "mozilla/StyleAnimationValue.h" -#include "mozilla/TypeTraits.h" // For Forward<> +#include "mozilla/TypeTraits.h" // For std::forward<> #include "nsContentUtils.h" #include "nsCSSPseudoElements.h" #include "nsCSSPropertyIDSet.h" diff --git a/dom/bindings/BindingDeclarations.h b/dom/bindings/BindingDeclarations.h index a5390f52fa91..731190bf83a4 100644 --- a/dom/bindings/BindingDeclarations.h +++ b/dom/bindings/BindingDeclarations.h @@ -178,7 +178,7 @@ public: template InternalType& Construct(Args&&... aArgs) { - mImpl.emplace(Forward(aArgs)...); + mImpl.emplace(std::forward(aArgs)...); return *mImpl; } diff --git a/dom/bindings/ErrorResult.h b/dom/bindings/ErrorResult.h index 9211c032bd13..71f163fcf62e 100644 --- a/dom/bindings/ErrorResult.h +++ b/dom/bindings/ErrorResult.h @@ -78,7 +78,7 @@ inline bool ThrowErrorMessage(JSContext* aCx, const ErrNum aErrorNumber, Ts&&... aArgs) { binding_detail::ThrowErrorMessage(aCx, static_cast(aErrorNumber), - mozilla::Forward(aArgs)...); + std::forward(aArgs)...); return false; } @@ -97,7 +97,7 @@ struct StringArrayAppender return; } aArgs.AppendElement(aFirst); - Append(aArgs, aCount - 1, Forward(aOtherArgs)...); + Append(aArgs, aCount - 1, std::forward(aOtherArgs)...); } }; @@ -293,14 +293,14 @@ public: void ThrowTypeError(Ts&&... messageArgs) { ThrowErrorWithMessage(NS_ERROR_INTERNAL_ERRORRESULT_TYPEERROR, - Forward(messageArgs)...); + std::forward(messageArgs)...); } template void ThrowRangeError(Ts&&... messageArgs) { ThrowErrorWithMessage(NS_ERROR_INTERNAL_ERRORRESULT_RANGEERROR, - Forward(messageArgs)...); + std::forward(messageArgs)...); } bool IsErrorWithMessage() const @@ -434,7 +434,7 @@ private: nsTArray& messageArgsArray = CreateErrorMessageHelper(errorNumber, errorType); uint16_t argCount = dom::GetErrorArgCount(errorNumber); dom::StringArrayAppender::Append(messageArgsArray, argCount, - Forward(messageArgs)...); + std::forward(messageArgs)...); #ifdef DEBUG mUnionState = HasMessage; #endif // DEBUG diff --git a/dom/clients/manager/ClientManagerOpParent.cpp b/dom/clients/manager/ClientManagerOpParent.cpp index 108effafe779..8edd68782e5c 100644 --- a/dom/clients/manager/ClientManagerOpParent.cpp +++ b/dom/clients/manager/ClientManagerOpParent.cpp @@ -20,7 +20,7 @@ ClientManagerOpParent::DoServiceOp(Method aMethod, Args&&... aArgs) { // Note, we need perfect forarding of the template type in order // to allow already_AddRefed<> to be passed as an arg. - RefPtr p = (mService->*aMethod)(Forward(aArgs)...); + RefPtr p = (mService->*aMethod)(std::forward(aArgs)...); // Capturing `this` is safe here because we disconnect the promise in // ActorDestroy() which ensures neither lambda is called if the actor diff --git a/dom/console/nsIConsoleReportCollector.h b/dom/console/nsIConsoleReportCollector.h index 5ed10d9ad1b9..20b95eca8b00 100644 --- a/dom/console/nsIConsoleReportCollector.h +++ b/dom/console/nsIConsoleReportCollector.h @@ -61,7 +61,7 @@ public: { nsTArray params; mozilla::dom::StringArrayAppender::Append(params, sizeof...(Params), - mozilla::Forward(aParams)...); + std::forward(aParams)...); AddConsoleReport(aErrorFlags, aCategory, aPropertiesFile, aSourceFileURI, aLineNumber, aColumnNumber, aMessageName, params); } diff --git a/dom/html/HTMLMediaElement.cpp b/dom/html/HTMLMediaElement.cpp index e8343fb8f7d0..d06348c2fbbb 100644 --- a/dom/html/HTMLMediaElement.cpp +++ b/dom/html/HTMLMediaElement.cpp @@ -4855,7 +4855,7 @@ HTMLMediaElement::SetupDecoder(DecoderType* aDecoder, LoadArgs&&... aArgs) aDecoder, aDecoder->ContainerType().OriginalString().Data())); - nsresult rv = aDecoder->Load(Forward(aArgs)...); + nsresult rv = aDecoder->Load(std::forward(aArgs)...); if (NS_FAILED(rv)) { aDecoder->Shutdown(); LOG(LogLevel::Debug, ("%p Failed to load for decoder %p", this, aDecoder)); diff --git a/dom/media/AudioStream.cpp b/dom/media/AudioStream.cpp index 94481f4b96a7..0d7e7034e4ba 100644 --- a/dom/media/AudioStream.cpp +++ b/dom/media/AudioStream.cpp @@ -331,7 +331,7 @@ template int AudioStream::InvokeCubeb(Function aFunction, Args&&... aArgs) { MonitorAutoUnlock mon(mMonitor); - return aFunction(mCubebStream.get(), Forward(aArgs)...); + return aFunction(mCubebStream.get(), std::forward(aArgs)...); } nsresult diff --git a/dom/media/Intervals.h b/dom/media/Intervals.h index a45c5a4eb719..af633d4782e6 100644 --- a/dom/media/Intervals.h +++ b/dom/media/Intervals.h @@ -49,8 +49,8 @@ public: template Interval(StartArg&& aStart, EndArg&& aEnd) - : mStart(Forward(aStart)) - , mEnd(Forward(aEnd)) + : mStart(std::forward(aStart)) + , mEnd(std::forward(aEnd)) , mFuzz() { MOZ_ASSERT(aStart <= aEnd); @@ -58,9 +58,9 @@ public: template Interval(StartArg&& aStart, EndArg&& aEnd, FuzzArg&& aFuzz) - : mStart(Forward(aStart)) - , mEnd(Forward(aEnd)) - , mFuzz(Forward(aFuzz)) + : mStart(std::forward(aStart)) + , mEnd(std::forward(aEnd)) + , mFuzz(std::forward(aFuzz)) { MOZ_ASSERT(aStart <= aEnd); } diff --git a/dom/media/MediaDecoderStateMachine.cpp b/dom/media/MediaDecoderStateMachine.cpp index 9de68db9ef2d..8d64e03dc168 100644 --- a/dom/media/MediaDecoderStateMachine.cpp +++ b/dom/media/MediaDecoderStateMachine.cpp @@ -275,7 +275,7 @@ protected: // So we 1) pass the parameters by reference, but then 2) immediately copy // them into a Tuple to be safe against modification, and finally 3) move // the elements of the Tuple into the final function call. - auto copiedArgs = MakeTuple(Forward(aArgs)...); + auto copiedArgs = MakeTuple(std::forward(aArgs)...); // Copy mMaster which will reset to null. auto master = mMaster; diff --git a/dom/media/MediaDecoderStateMachine.h b/dom/media/MediaDecoderStateMachine.h index 17107ff2d64d..1840f0399055 100644 --- a/dom/media/MediaDecoderStateMachine.h +++ b/dom/media/MediaDecoderStateMachine.h @@ -145,7 +145,7 @@ struct MediaPlaybackEvent template MediaPlaybackEvent(EventType aType, T&& aArg) : mType(aType) - , mData(Forward(aArg)) + , mData(std::forward(aArg)) { } }; diff --git a/dom/media/MediaEventSource.h b/dom/media/MediaEventSource.h index fda2fa6cdb8d..4ac91a187295 100644 --- a/dom/media/MediaEventSource.h +++ b/dom/media/MediaEventSource.h @@ -138,7 +138,7 @@ public: "detail::Listener::ApplyWithArgs", this, &Listener::ApplyWithArgs, - Forward(aEvents)...)); + std::forward(aEvents)...)); } else { DispatchTask(NewRunnableMethod( "detail::Listener::ApplyWithNoArgs", this, &Listener::ApplyWithNoArgs)); @@ -178,7 +178,7 @@ public: template ListenerImpl(Target* aTarget, F&& aFunction) : mTarget(aTarget) - , mFunction(Forward(aFunction)) + , mFunction(std::forward(aFunction)) { } @@ -345,7 +345,7 @@ class MediaEventSourceImpl { MOZ_ASSERT(Lp == ListenerPolicy::NonExclusive || mListeners.IsEmpty()); auto l = mListeners.AppendElement(); *l = new ListenerImpl( - aTarget, Forward(aFunction)); + aTarget, std::forward(aFunction)); return MediaEventListener(*l); } @@ -383,13 +383,13 @@ public: template MediaEventListener Connect(AbstractThread* aTarget, Function&& aFunction) { - return ConnectInternal(aTarget, Forward(aFunction)); + return ConnectInternal(aTarget, std::forward(aFunction)); } template MediaEventListener Connect(nsIEventTarget* aTarget, Function&& aFunction) { - return ConnectInternal(aTarget, Forward(aFunction)); + return ConnectInternal(aTarget, std::forward(aFunction)); } /** @@ -430,7 +430,7 @@ protected: mListeners.RemoveElementAt(i); continue; } - l->Dispatch(Forward(aEvents)...); + l->Dispatch(std::forward(aEvents)...); } } @@ -482,7 +482,7 @@ class MediaEventProducerExc : public MediaEventSourceExc { public: template void Notify(Ts&&... aEvents) { - this->NotifyInternal(Forward(aEvents)...); + this->NotifyInternal(std::forward(aEvents)...); } }; diff --git a/dom/media/MediaInfo.h b/dom/media/MediaInfo.h index 9f47014e380d..9223b57f61c9 100644 --- a/dom/media/MediaInfo.h +++ b/dom/media/MediaInfo.h @@ -436,7 +436,7 @@ public: template InitData(const nsAString& aType, AInitDatas&& aInitData) : mType(aType) - , mInitData(Forward(aInitData)) + , mInitData(std::forward(aInitData)) { } @@ -463,7 +463,7 @@ public: template void AddInitData(const nsAString& aType, AInitDatas&& aInitData) { - mInitDatas.AppendElement(InitData(aType, Forward(aInitData))); + mInitDatas.AppendElement(InitData(aType, std::forward(aInitData))); mEncrypted = true; } diff --git a/dom/media/MediaManager.cpp b/dom/media/MediaManager.cpp index e7543dbb58e3..57874c079950 100644 --- a/dom/media/MediaManager.cpp +++ b/dom/media/MediaManager.cpp @@ -2243,7 +2243,7 @@ MediaManager::PostTask(const char* aName, FunctionType&& aFunction) MozPromiseHolder holder; RefPtr promise = holder.Ensure(aName); MediaManager::PostTask(NS_NewRunnableFunction(aName, - [h = std::move(holder), func = Forward(aFunction)]() mutable + [h = std::move(holder), func = std::forward(aFunction)]() mutable { func(h); })); diff --git a/dom/media/MediaSegment.h b/dom/media/MediaSegment.h index 04211d6eb790..df68f7fe769c 100644 --- a/dom/media/MediaSegment.h +++ b/dom/media/MediaSegment.h @@ -155,7 +155,7 @@ public: */ void SetLastPrincipalHandle(PrincipalHandle aLastPrincipalHandle) { - mLastPrincipalHandle = Forward(aLastPrincipalHandle); + mLastPrincipalHandle = std::forward(aLastPrincipalHandle); } /** diff --git a/dom/media/MediaTimer.h b/dom/media/MediaTimer.h index 6568b5d55f1a..ad9c0620eb93 100644 --- a/dom/media/MediaTimer.h +++ b/dom/media/MediaTimer.h @@ -153,8 +153,8 @@ public: mTarget = aTarget; mMediaTimer->WaitUntil(mTarget, __func__)->Then( mTargetThread, __func__, - Forward(aResolver), - Forward(aRejector)) + std::forward(aResolver), + std::forward(aRejector)) ->Track(mRequest); } diff --git a/dom/media/VideoSegment.h b/dom/media/VideoSegment.h index 83c7864c2d9c..f26eddee6d0a 100644 --- a/dom/media/VideoSegment.h +++ b/dom/media/VideoSegment.h @@ -42,7 +42,7 @@ public: bool GetForceBlack() const { return mForceBlack; } void SetPrincipalHandle(PrincipalHandle aPrincipalHandle) { - mPrincipalHandle = Forward(aPrincipalHandle); + mPrincipalHandle = std::forward(aPrincipalHandle); } const PrincipalHandle& GetPrincipalHandle() const { return mPrincipalHandle; } const gfx::IntSize& GetIntrinsicSize() const { return mIntrinsicSize; } diff --git a/dom/media/doctor/DecoderDoctorLogger.h b/dom/media/doctor/DecoderDoctorLogger.h index be5c137cb541..7a4b0797c649 100644 --- a/dom/media/doctor/DecoderDoctorLogger.h +++ b/dom/media/doctor/DecoderDoctorLogger.h @@ -87,7 +87,7 @@ public: aSubjectPointer, aCategory, aLabel, - DDLogValue{ Forward(aValue) }); + DDLogValue{ std::forward(aValue) }); } template @@ -100,7 +100,7 @@ public: aSubject, aCategory, aLabel, - Forward(aValue)); + std::forward(aValue)); } // EagerLogValue that can explicitly take strings, as the templated function @@ -154,7 +154,7 @@ public: aCategory, aLabel, DDLogValue{ - nsCString{ nsPrintfCString(aFormat, Forward(aArgs)...) } }); + nsCString{ nsPrintfCString(aFormat, std::forward(aArgs)...) } }); } template @@ -182,7 +182,7 @@ public: aCategory, aLabel, aFormat, - Forward(aArgs)...); + std::forward(aArgs)...); } static void MozLogPrintf(const char* aSubjectTypeName, @@ -209,7 +209,7 @@ public: const char* aFormat, Args&&... aArgs) { - nsCString printed = nsPrintfCString(aFormat, Forward(aArgs)...); + nsCString printed = nsPrintfCString(aFormat, std::forward(aArgs)...); Log(aSubjectTypeName, aSubjectPointer, CategoryForMozLogLevel(aLogLevel), @@ -245,7 +245,7 @@ public: aLogModule, aLogLevel, aFormat, - Forward(aArgs)...); + std::forward(aArgs)...); } // Special logging functions. Consider using DecoderDoctorLifeLogger to diff --git a/dom/media/gmp/ChromiumCDMCallbackProxy.cpp b/dom/media/gmp/ChromiumCDMCallbackProxy.cpp index d5f7f893902f..369baca69f67 100644 --- a/dom/media/gmp/ChromiumCDMCallbackProxy.cpp +++ b/dom/media/gmp/ChromiumCDMCallbackProxy.cpp @@ -21,7 +21,7 @@ void ChromiumCDMCallbackProxy::DispatchToMainThread(const char* const aLabel, aLabel, mProxy, aFunc, - Forward(aArgs)...), + std::forward(aArgs)...), NS_DISPATCH_NORMAL); } diff --git a/dom/media/gmp/ChromiumCDMChild.cpp b/dom/media/gmp/ChromiumCDMChild.cpp index a42b9b69e4f2..1eea014af7f0 100644 --- a/dom/media/gmp/ChromiumCDMChild.cpp +++ b/dom/media/gmp/ChromiumCDMChild.cpp @@ -197,7 +197,7 @@ ChromiumCDMChild::CallMethod(MethodType aMethod, ParamType&&... aParams) MOZ_ASSERT(IsOnMessageLoopThread()); // Avoid calling member function after destroy. if (!mDestroyed) { - Unused << (this->*aMethod)(Forward(aParams)...); + Unused << (this->*aMethod)(std::forward(aParams)...); } } @@ -208,7 +208,7 @@ ChromiumCDMChild::CallOnMessageLoopThread(const char* const aName, ParamType&&... aParams) { if (IsOnMessageLoopThread()) { - CallMethod(aMethod, Forward(aParams)...); + CallMethod(aMethod, std::forward(aParams)...); } else { auto m = &ChromiumCDMChild::CallMethod< decltype(aMethod), const typename RemoveReference::Type&...>; @@ -219,7 +219,7 @@ ChromiumCDMChild::CallOnMessageLoopThread(const char* const aName, this, m, aMethod, - Forward(aParams)...); + std::forward(aParams)...); mPlugin->GMPMessageLoop()->PostTask(t.forget()); } } diff --git a/dom/media/mp4/MP4Metadata.h b/dom/media/mp4/MP4Metadata.h index 5f318700fb74..ef91e108586e 100644 --- a/dom/media/mp4/MP4Metadata.h +++ b/dom/media/mp4/MP4Metadata.h @@ -67,7 +67,7 @@ public: public: template ResultAndType(M2&& aM, T2&& aT) - : mResult(Forward(aM)), mT(Forward(aT)) + : mResult(std::forward(aM)), mT(std::forward(aT)) { } ResultAndType(const ResultAndType&) = default; diff --git a/dom/media/platforms/PDMFactory.cpp b/dom/media/platforms/PDMFactory.cpp index 92f3bf3ccc20..16409f6dc2c3 100644 --- a/dom/media/platforms/PDMFactory.cpp +++ b/dom/media/platforms/PDMFactory.cpp @@ -113,7 +113,7 @@ public: void AddToCheckList(Func&& aChecker) { - mCheckerList.AppendElement(mozilla::Forward(aChecker)); + mCheckerList.AppendElement(std::forward(aChecker)); } void diff --git a/dom/media/platforms/PlatformDecoderModule.h b/dom/media/platforms/PlatformDecoderModule.h index f21d20005ff4..8878fca23532 100644 --- a/dom/media/platforms/PlatformDecoderModule.h +++ b/dom/media/platforms/PlatformDecoderModule.h @@ -71,7 +71,7 @@ struct MOZ_STACK_CLASS CreateDecoderParams final CreateDecoderParams(const TrackInfo& aConfig, T1&& a1, Ts&&... args) : mConfig(aConfig) { - Set(mozilla::Forward(a1), mozilla::Forward(args)...); + Set(std::forward(a1), std::forward(args)...); } const VideoInfo& VideoConfig() const @@ -140,8 +140,8 @@ private: template void Set(T1&& a1, T2&& a2, Ts&&... args) { - Set(mozilla::Forward(a1)); - Set(mozilla::Forward(a2), mozilla::Forward(args)...); + Set(std::forward(a1)); + Set(std::forward(a2), std::forward(args)...); } }; diff --git a/dom/media/systemservices/CamerasChild.h b/dom/media/systemservices/CamerasChild.h index 0b757345118e..11cd6c8d8a89 100644 --- a/dom/media/systemservices/CamerasChild.h +++ b/dom/media/systemservices/CamerasChild.h @@ -142,7 +142,7 @@ int GetChildAndCall(MEM_FUN&& f, ARGS&&... args) OffTheBooksMutexAutoLock lock(CamerasSingleton::Mutex()); CamerasChild* child = GetCamerasChild(); if (child) { - return (child->*f)(mozilla::Forward(args)...); + return (child->*f)(std::forward(args)...); } else { return -1; } diff --git a/dom/media/systemservices/MediaTaskUtils.h b/dom/media/systemservices/MediaTaskUtils.h index ef782890b87f..8c09e47f7266 100644 --- a/dom/media/systemservices/MediaTaskUtils.h +++ b/dom/media/systemservices/MediaTaskUtils.h @@ -45,7 +45,7 @@ already_AddRefed> NewTaskFrom(OnRunType&& aOnRun) { typedef LambdaTask LambdaType; - RefPtr lambda = new LambdaType(Forward(aOnRun)); + RefPtr lambda = new LambdaType(std::forward(aOnRun)); return lambda.forget(); } diff --git a/dom/media/systemservices/MediaUtils.h b/dom/media/systemservices/MediaUtils.h index 77093d35bde1..39482e64e665 100644 --- a/dom/media/systemservices/MediaUtils.h +++ b/dom/media/systemservices/MediaUtils.h @@ -81,7 +81,7 @@ public: template void Then(OnSuccessType&& aOnSuccess) { - Then(Forward(aOnSuccess), [](ErrorType&){}); + Then(std::forward(aOnSuccess), [](ErrorType&){}); } template @@ -105,8 +105,8 @@ public: OnSuccessType mOnSuccess; OnFailureType mOnFailure; }; - mFunctors = MakeUnique(Forward(aOnSuccess), - Forward(aOnFailure)); + mFunctors = MakeUnique(std::forward(aOnSuccess), + std::forward(aOnFailure)); if (mDone) { if (!mRejected) { mFunctors->Succeed(mValue); @@ -216,7 +216,7 @@ already_AddRefed> NewRunnableFrom(OnRunType&& aOnRun) { typedef LambdaRunnable LambdaType; - RefPtr lambda = new LambdaType(Forward(aOnRun)); + RefPtr lambda = new LambdaType(std::forward(aOnRun)); return lambda.forget(); } @@ -448,13 +448,13 @@ Await( __func__, [&](ResolveValueType&& aResolveValue) { MonitorAutoLock lock(mon); - aResolveFunction(Forward(aResolveValue)); + aResolveFunction(std::forward(aResolveValue)); done = true; mon.Notify(); }, [&](RejectValueType&& aRejectValue) { MonitorAutoLock lock(mon); - aRejectFunction(Forward(aRejectValue)); + aRejectFunction(std::forward(aRejectValue)); done = true; mon.Notify(); }); diff --git a/dom/media/webrtc/MediaEngineRemoteVideoSource.h b/dom/media/webrtc/MediaEngineRemoteVideoSource.h index 24fac8befc62..a9fdce62bf8d 100644 --- a/dom/media/webrtc/MediaEngineRemoteVideoSource.h +++ b/dom/media/webrtc/MediaEngineRemoteVideoSource.h @@ -71,7 +71,7 @@ class MediaEngineRemoteVideoSource : public MediaEngineSource, struct CapabilityCandidate { explicit CapabilityCandidate(webrtc::CaptureCapability&& aCapability, uint32_t aDistance = 0) - : mCapability(Forward(aCapability)) + : mCapability(std::forward(aCapability)) , mDistance(aDistance) {} const webrtc::CaptureCapability mCapability; diff --git a/dom/serviceworkers/ServiceWorkerEvents.cpp b/dom/serviceworkers/ServiceWorkerEvents.cpp index f0f4259ae015..fe39cf77cd17 100644 --- a/dom/serviceworkers/ServiceWorkerEvents.cpp +++ b/dom/serviceworkers/ServiceWorkerEvents.cpp @@ -87,7 +87,7 @@ AsyncLog(nsIInterceptedChannel* aInterceptedChannel, { nsTArray paramsList(sizeof...(Params) + 1); StringArrayAppender::Append(paramsList, sizeof...(Params) + 1, - aFirstParam, Forward(aParams)...); + aFirstParam, std::forward(aParams)...); AsyncLog(aInterceptedChannel, aRespondWithScriptSpec, aRespondWithLineNumber, aRespondWithColumnNumber, aMessageName, paramsList); } @@ -559,7 +559,7 @@ public: mMessageName = aMessageName; mParams.Clear(); StringArrayAppender::Append(mParams, sizeof...(Params), - Forward(aParams)...); + std::forward(aParams)...); } template @@ -579,7 +579,7 @@ public: mMessageName = aMessageName; mParams.Clear(); StringArrayAppender::Append(mParams, sizeof...(Params), - Forward(aParams)...); + std::forward(aParams)...); } void Reset() diff --git a/gfx/2d/DrawingJob.h b/gfx/2d/DrawingJob.h index 0c8f470b5cf8..61371b797aa2 100644 --- a/gfx/2d/DrawingJob.h +++ b/gfx/2d/DrawingJob.h @@ -74,7 +74,7 @@ public: { static_assert(IsBaseOf::value, "T must derive from DrawingCommand"); - return mCommands->mStorage.Alloc(Forward(aArgs)...); + return mCommands->mStorage.Alloc(std::forward(aArgs)...); } bool HasCommands() const { return !!mCommands; } diff --git a/gfx/2d/IterableArena.h b/gfx/2d/IterableArena.h index ea0f8f91e6bf..d37148687aa4 100644 --- a/gfx/2d/IterableArena.h +++ b/gfx/2d/IterableArena.h @@ -78,7 +78,7 @@ public: if (offset < 0) { return offset; } - new (storage) T(Forward(aArgs)...); + new (storage) T(std::forward(aArgs)...); return offset; } diff --git a/image/DecoderFactory.cpp b/image/DecoderFactory.cpp index feaa19189f95..2383c3901cf9 100644 --- a/image/DecoderFactory.cpp +++ b/image/DecoderFactory.cpp @@ -310,7 +310,7 @@ DecoderFactory::CreateDecoderForICOResource(DecoderType aType, // Initialize the decoder, copying settings from @aICODecoder. decoder->SetMetadataDecode(aIsMetadataDecode); - decoder->SetIterator(Forward(aIterator)); + decoder->SetIterator(std::forward(aIterator)); if (!aIsMetadataDecode) { decoder->SetOutputSize(aICODecoder->OutputSize()); } diff --git a/image/SurfacePipe.h b/image/SurfacePipe.h index 9d0baa211d7e..854afb7f6716 100644 --- a/image/SurfacePipe.h +++ b/image/SurfacePipe.h @@ -172,7 +172,7 @@ public: WriteState WritePixels(Func aFunc) { Maybe result; - while (!(result = DoWritePixelsToRow(Forward(aFunc)))) { } + while (!(result = DoWritePixelsToRow(std::forward(aFunc)))) { } return *result; } @@ -209,7 +209,7 @@ public: WriteState WritePixelBlocks(Func aFunc) { Maybe result; - while (!(result = DoWritePixelBlockToRow(Forward(aFunc)))) { } + while (!(result = DoWritePixelBlockToRow(std::forward(aFunc)))) { } return *result; } @@ -246,7 +246,7 @@ public: template WriteState WritePixelsToRow(Func aFunc) { - return DoWritePixelsToRow(Forward(aFunc)) + return DoWritePixelsToRow(std::forward(aFunc)) .valueOr(WriteState::NEED_MORE_DATA); } @@ -639,7 +639,7 @@ public: WriteState WritePixels(Func aFunc) { MOZ_ASSERT(mHead, "Use before configured!"); - return mHead->WritePixels(Forward(aFunc)); + return mHead->WritePixels(std::forward(aFunc)); } /** @@ -653,7 +653,7 @@ public: WriteState WritePixelBlocks(Func aFunc) { MOZ_ASSERT(mHead, "Use before configured!"); - return mHead->WritePixelBlocks(Forward(aFunc)); + return mHead->WritePixelBlocks(std::forward(aFunc)); } /** @@ -667,7 +667,7 @@ public: WriteState WritePixelsToRow(Func aFunc) { MOZ_ASSERT(mHead, "Use before configured!"); - return mHead->WritePixelsToRow(Forward(aFunc)); + return mHead->WritePixelsToRow(std::forward(aFunc)); } /** diff --git a/image/test/gtest/TestADAM7InterpolatingFilter.cpp b/image/test/gtest/TestADAM7InterpolatingFilter.cpp index af69cb410fcc..1bd98218ced6 100644 --- a/image/test/gtest/TestADAM7InterpolatingFilter.cpp +++ b/image/test/gtest/TestADAM7InterpolatingFilter.cpp @@ -31,7 +31,7 @@ WithADAM7InterpolatingFilter(const IntSize& aSize, Func aFunc) RefPtr decoder = CreateTrivialDecoder(); ASSERT_TRUE(bool(decoder)); - WithFilterPipeline(decoder, Forward(aFunc), + WithFilterPipeline(decoder, std::forward(aFunc), ADAM7InterpolatingConfig { }, SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); diff --git a/image/test/gtest/TestDeinterlacingFilter.cpp b/image/test/gtest/TestDeinterlacingFilter.cpp index 82637bbf7149..55b998544b15 100644 --- a/image/test/gtest/TestDeinterlacingFilter.cpp +++ b/image/test/gtest/TestDeinterlacingFilter.cpp @@ -26,7 +26,7 @@ WithDeinterlacingFilter(const IntSize& aSize, RefPtr decoder = CreateTrivialDecoder(); ASSERT_TRUE(bool(decoder)); - WithFilterPipeline(decoder, Forward(aFunc), + WithFilterPipeline(decoder, std::forward(aFunc), DeinterlacingConfig { aProgressiveDisplay }, SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); @@ -39,7 +39,7 @@ WithPalettedDeinterlacingFilter(const IntSize& aSize, RefPtr decoder = CreateTrivialDecoder(); ASSERT_TRUE(decoder != nullptr); - WithFilterPipeline(decoder, Forward(aFunc), + WithFilterPipeline(decoder, std::forward(aFunc), DeinterlacingConfig { /* mProgressiveDisplay = */ true }, PalettedSurfaceConfig { decoder, aSize, IntRect(0, 0, 100, 100), diff --git a/image/test/gtest/TestDownscalingFilter.cpp b/image/test/gtest/TestDownscalingFilter.cpp index d7aa0ead2a30..3be916f40434 100644 --- a/image/test/gtest/TestDownscalingFilter.cpp +++ b/image/test/gtest/TestDownscalingFilter.cpp @@ -26,7 +26,7 @@ WithDownscalingFilter(const IntSize& aInputSize, RefPtr decoder = CreateTrivialDecoder(); ASSERT_TRUE(decoder != nullptr); - WithFilterPipeline(decoder, Forward(aFunc), + WithFilterPipeline(decoder, std::forward(aFunc), DownscalingConfig { aInputSize, SurfaceFormat::B8G8R8A8 }, SurfaceConfig { decoder, aOutputSize, diff --git a/image/test/gtest/TestRemoveFrameRectFilter.cpp b/image/test/gtest/TestRemoveFrameRectFilter.cpp index ad1f944fc4a0..108d58dbdbc3 100644 --- a/image/test/gtest/TestRemoveFrameRectFilter.cpp +++ b/image/test/gtest/TestRemoveFrameRectFilter.cpp @@ -26,7 +26,7 @@ WithRemoveFrameRectFilter(const IntSize& aSize, RefPtr decoder = CreateTrivialDecoder(); ASSERT_TRUE(decoder != nullptr); - WithFilterPipeline(decoder, Forward(aFunc), + WithFilterPipeline(decoder, std::forward(aFunc), RemoveFrameRectConfig { aFrameRect }, SurfaceConfig { decoder, aSize, SurfaceFormat::B8G8R8A8, false }); diff --git a/image/test/gtest/TestSurfaceSink.cpp b/image/test/gtest/TestSurfaceSink.cpp index 0000d7e50d51..857c3b170e2c 100644 --- a/image/test/gtest/TestSurfaceSink.cpp +++ b/image/test/gtest/TestSurfaceSink.cpp @@ -31,7 +31,7 @@ WithSurfaceSink(Func aFunc) const bool flipVertically = Orientation == Orient::FLIP_VERTICALLY; - WithFilterPipeline(decoder, Forward(aFunc), + WithFilterPipeline(decoder, std::forward(aFunc), SurfaceConfig { decoder, IntSize(100, 100), SurfaceFormat::B8G8R8A8, flipVertically }); } @@ -42,7 +42,7 @@ WithPalettedSurfaceSink(const IntRect& aFrameRect, Func aFunc) RefPtr decoder = CreateTrivialDecoder(); ASSERT_TRUE(decoder != nullptr); - WithFilterPipeline(decoder, Forward(aFunc), + WithFilterPipeline(decoder, std::forward(aFunc), PalettedSurfaceConfig { decoder, IntSize(100, 100), aFrameRect, SurfaceFormat::B8G8R8A8, 8, false }); diff --git a/ipc/chromium/src/base/task.h b/ipc/chromium/src/base/task.h index 01a034a2dcb8..e4b0bc175676 100644 --- a/ipc/chromium/src/base/task.h +++ b/ipc/chromium/src/base/task.h @@ -150,7 +150,7 @@ class ScopedRunnableMethodFactory : public RevocableStore { typedef typename ScopedTaskFactory::TaskWrapper TaskWrapper; RefPtr task = new TaskWrapper(this); - task->Init(object_, method, mozilla::MakeTuple(mozilla::Forward(elements)...)); + task->Init(object_, method, mozilla::MakeTuple(std::forward(elements)...)); return task.forget(); } @@ -167,7 +167,7 @@ class ScopedRunnableMethodFactory : public RevocableStore { { obj_ = obj; meth_ = meth; - params_ = mozilla::Forward(params); + params_ = std::forward(params); } NS_IMETHOD Run() override { @@ -280,7 +280,7 @@ class RunnableMethod : public mozilla::CancelableRunnable, : mozilla::CancelableRunnable("RunnableMethod") , obj_(obj) , meth_(meth) - , params_(mozilla::Forward(params)) + , params_(std::forward(params)) { this->RetainCallee(obj_); } @@ -323,7 +323,7 @@ NewRunnableMethod(T* object, Method method, Args&&... args) { typedef mozilla::Tuple::Type...> ArgsTuple; RefPtr t = new RunnableMethod(object, method, - mozilla::MakeTuple(mozilla::Forward(args)...)); + mozilla::MakeTuple(std::forward(args)...)); return t.forget(); } @@ -337,7 +337,7 @@ class RunnableFunction : public mozilla::CancelableRunnable { RunnableFunction(const char* name, Function function, Params&& params) : mozilla::CancelableRunnable(name) , function_(function) - , params_(mozilla::Forward(params)) + , params_(std::forward(params)) { } @@ -365,7 +365,7 @@ NewCancelableRunnableFunction(const char* name, Function function, Args&&... arg typedef mozilla::Tuple::Type...> ArgsTuple; RefPtr t = new RunnableFunction(name, function, - mozilla::MakeTuple(mozilla::Forward(args)...)); + mozilla::MakeTuple(std::forward(args)...)); return t.forget(); } @@ -375,7 +375,7 @@ NewRunnableFunction(const char* name, Function function, Args&&... args) { typedef mozilla::Tuple::Type...> ArgsTuple; RefPtr t = new RunnableFunction(name, function, - mozilla::MakeTuple(mozilla::Forward(args)...)); + mozilla::MakeTuple(std::forward(args)...)); return t.forget(); } diff --git a/ipc/chromium/src/chrome/common/ipc_message_utils.h b/ipc/chromium/src/chrome/common/ipc_message_utils.h index f77563fb828b..0cc44f24c9eb 100644 --- a/ipc/chromium/src/chrome/common/ipc_message_utils.h +++ b/ipc/chromium/src/chrome/common/ipc_message_utils.h @@ -132,7 +132,7 @@ template static inline void WriteParam(Message* m, P&& p) { ParamTraits::Type> - ::Write(m, mozilla::Forward

(p)); + ::Write(m, std::forward

(p)); } template diff --git a/ipc/glue/IPDLParamTraits.h b/ipc/glue/IPDLParamTraits.h index 1f55b0d72f7b..c2cb59186d06 100644 --- a/ipc/glue/IPDLParamTraits.h +++ b/ipc/glue/IPDLParamTraits.h @@ -31,7 +31,7 @@ struct IPDLParamTraits static_assert(IsSame::Type>::value, "IPDLParamTraits::Write only forwards calls which work via WriteParam"); - IPC::ParamTraits

::Write(aMsg, Forward(aParam)); + IPC::ParamTraits

::Write(aMsg, std::forward(aParam)); } template @@ -61,7 +61,7 @@ WriteIPDLParam(IPC::Message* aMsg, P&& aParam) { IPDLParamTraits::Type> - ::Write(aMsg, aActor, Forward

(aParam)); + ::Write(aMsg, aActor, std::forward

(aParam)); } template diff --git a/ipc/glue/TaskFactory.h b/ipc/glue/TaskFactory.h index 60d360eda965..98585c6e35c0 100644 --- a/ipc/glue/TaskFactory.h +++ b/ipc/glue/TaskFactory.h @@ -33,7 +33,7 @@ private: public: template explicit TaskWrapper(RevocableStore* store, Args&&... args) - : TaskType(mozilla::Forward(args)...) + : TaskType(std::forward(args)...) , revocable_(store) { } @@ -56,20 +56,20 @@ public: { typedef TaskWrapper TaskWrapper; RefPtr task = - new TaskWrapper(this, mozilla::Forward(args)...); + new TaskWrapper(this, std::forward(args)...); return task.forget(); } template inline already_AddRefed NewRunnableMethod(Method method, Args&&... args) { - typedef decltype(base::MakeTuple(mozilla::Forward(args)...)) ArgTuple; + typedef decltype(base::MakeTuple(std::forward(args)...)) ArgTuple; typedef RunnableMethod RunnableMethod; typedef TaskWrapper TaskWrapper; RefPtr task = new TaskWrapper(this, object_, method, - base::MakeTuple(mozilla::Forward(args)...)); + base::MakeTuple(std::forward(args)...)); return task.forget(); } diff --git a/ipc/mscom/ActivationContext.h b/ipc/mscom/ActivationContext.h index 2bd070b9b2cf..7d7df8c59f84 100644 --- a/ipc/mscom/ActivationContext.h +++ b/ipc/mscom/ActivationContext.h @@ -65,7 +65,7 @@ class MOZ_NON_TEMPORARY_CLASS ActivationContextRegion final public: template explicit ActivationContextRegion(Args... aArgs) - : mActCtx(Forward(aArgs)...) + : mActCtx(std::forward(aArgs)...) , mActCookie(0) { Activate(); diff --git a/ipc/mscom/AsyncInvoker.h b/ipc/mscom/AsyncInvoker.h index 66b491b5c164..fea4f8d83ff6 100644 --- a/ipc/mscom/AsyncInvoker.h +++ b/ipc/mscom/AsyncInvoker.h @@ -303,7 +303,7 @@ public: HRESULT Invoke(SyncMethod aSyncMethod, AsyncMethod aAsyncMethod, Args... aArgs) { if (mSyncObj) { - return (mSyncObj->*aSyncMethod)(Forward(aArgs)...); + return (mSyncObj->*aSyncMethod)(std::forward(aArgs)...); } MOZ_ASSERT(mAsyncCall); @@ -317,7 +317,7 @@ public: return E_POINTER; } - return (asyncInterface->*aAsyncMethod)(Forward(aArgs)...); + return (asyncInterface->*aAsyncMethod)(std::forward(aArgs)...); } AsyncInvoker(const AsyncInvoker& aOther) = delete; diff --git a/ipc/mscom/COMPtrHolder.h b/ipc/mscom/COMPtrHolder.h index fef812e433a4..350b5c025845 100644 --- a/ipc/mscom/COMPtrHolder.h +++ b/ipc/mscom/COMPtrHolder.h @@ -36,12 +36,12 @@ public: } explicit COMPtrHolder(COMPtrType&& aPtr) - : mPtr(Forward(aPtr)) + : mPtr(std::forward(aPtr)) { } COMPtrHolder(COMPtrType&& aPtr, const ActivationContext& aActCtx) - : mPtr(Forward(aPtr)) + : mPtr(std::forward(aPtr)) , mActCtx(aActCtx) { } @@ -58,7 +58,7 @@ public: void Set(COMPtrType&& aPtr) { - mPtr = Forward(aPtr); + mPtr = std::forward(aPtr); } void SetActCtx(const ActivationContext& aActCtx) diff --git a/ipc/mscom/MainThreadInvoker.h b/ipc/mscom/MainThreadInvoker.h index 3a739377563e..3aeb958e452b 100644 --- a/ipc/mscom/MainThreadInvoker.h +++ b/ipc/mscom/MainThreadInvoker.h @@ -47,7 +47,7 @@ InvokeOnMainThread(const char* aName, { nsCOMPtr runnable( NewNonOwningRunnableMethod(aName, aObject, aMethod, - Forward(aArgs)...)); + std::forward(aArgs)...)); MainThreadInvoker invoker; return invoker.Invoke(runnable.forget()); diff --git a/ipc/mscom/Registration.cpp b/ipc/mscom/Registration.cpp index c940cf479b2a..61d3dc402e7a 100644 --- a/ipc/mscom/Registration.cpp +++ b/ipc/mscom/Registration.cpp @@ -338,7 +338,7 @@ RegisteredProxy::~RegisteredProxy() RegisteredProxy::RegisteredProxy(RegisteredProxy&& aOther) { - *this = mozilla::Forward(aOther); + *this = std::forward(aOther); } RegisteredProxy& diff --git a/ipc/mscom/oop/Factory.h b/ipc/mscom/oop/Factory.h index 7ac6ceceb255..9aab07d4c956 100644 --- a/ipc/mscom/oop/Factory.h +++ b/ipc/mscom/oop/Factory.h @@ -41,7 +41,7 @@ class MOZ_NONHEAP_CLASS Factory : public IClassFactory template HRESULT DoCreate(HRESULT (*aFnPtr)(IUnknown*, REFIID, void**), Args... args) { - return aFnPtr(mozilla::Forward(args)...); + return aFnPtr(std::forward(args)...); } public: diff --git a/js/public/GCHashTable.h b/js/public/GCHashTable.h index 78775e9cddaf..aafdd0b0e4b8 100644 --- a/js/public/GCHashTable.h +++ b/js/public/GCHashTable.h @@ -191,29 +191,29 @@ class MutableWrappedPtrOperations, Wrapper> template bool add(AddPtr& p, KeyInput&& k, ValueInput&& v) { - return map().add(p, mozilla::Forward(k), mozilla::Forward(v)); + return map().add(p, std::forward(k), std::forward(v)); } template bool add(AddPtr& p, KeyInput&& k) { - return map().add(p, mozilla::Forward(k), Map::Value()); + return map().add(p, std::forward(k), Map::Value()); } template bool relookupOrAdd(AddPtr& p, KeyInput&& k, ValueInput&& v) { return map().relookupOrAdd(p, k, - mozilla::Forward(k), - mozilla::Forward(v)); + std::forward(k), + std::forward(v)); } template bool put(KeyInput&& k, ValueInput&& v) { - return map().put(mozilla::Forward(k), mozilla::Forward(v)); + return map().put(std::forward(k), std::forward(v)); } template bool putNew(KeyInput&& k, ValueInput&& v) { - return map().putNew(mozilla::Forward(k), mozilla::Forward(v)); + return map().putNew(std::forward(k), std::forward(v)); } }; @@ -336,27 +336,27 @@ class MutableWrappedPtrOperations, Wrapper> template bool add(AddPtr& p, TInput&& t) { - return set().add(p, mozilla::Forward(t)); + return set().add(p, std::forward(t)); } template bool relookupOrAdd(AddPtr& p, const Lookup& l, TInput&& t) { - return set().relookupOrAdd(p, l, mozilla::Forward(t)); + return set().relookupOrAdd(p, l, std::forward(t)); } template bool put(TInput&& t) { - return set().put(mozilla::Forward(t)); + return set().put(std::forward(t)); } template bool putNew(TInput&& t) { - return set().putNew(mozilla::Forward(t)); + return set().putNew(std::forward(t)); } template bool putNew(const Lookup& l, TInput&& t) { - return set().putNew(l, mozilla::Forward(t)); + return set().putNew(l, std::forward(t)); } }; @@ -380,11 +380,11 @@ class WeakCache> public: template explicit WeakCache(Zone* zone, Args&&... args) - : WeakCacheBase(zone), map(mozilla::Forward(args)...), needsBarrier(false) + : WeakCacheBase(zone), map(std::forward(args)...), needsBarrier(false) {} template explicit WeakCache(JSRuntime* rt, Args&&... args) - : WeakCacheBase(rt), map(mozilla::Forward(args)...), needsBarrier(false) + : WeakCacheBase(rt), map(std::forward(args)...), needsBarrier(false) {} ~WeakCache() { MOZ_ASSERT(!needsBarrier); @@ -558,32 +558,27 @@ class WeakCache> template bool add(AddPtr& p, KeyInput&& k) { - using mozilla::Forward; - return map.add(p, Forward(k)); + return map.add(p, std::forward(k)); } template bool add(AddPtr& p, KeyInput&& k, ValueInput&& v) { - using mozilla::Forward; - return map.add(p, Forward(k), Forward(v)); + return map.add(p, std::forward(k), std::forward(v)); } template bool relookupOrAdd(AddPtr& p, KeyInput&& k, ValueInput&& v) { - using mozilla::Forward; - return map.relookupOrAdd(p, Forward(k), Forward(v)); + return map.relookupOrAdd(p, std::forward(k), std::forward(v)); } template bool put(KeyInput&& k, ValueInput&& v) { - using mozilla::Forward; - return map.put(Forward(k), Forward(v)); + return map.put(std::forward(k), std::forward(v)); } template bool putNew(KeyInput&& k, ValueInput&& v) { - using mozilla::Forward; - return map.putNew(Forward(k), Forward(v)); + return map.putNew(std::forward(k), std::forward(v)); } }; @@ -604,11 +599,11 @@ class WeakCache> template explicit WeakCache(Zone* zone, Args&&... args) - : WeakCacheBase(zone), set(mozilla::Forward(args)...), needsBarrier(false) + : WeakCacheBase(zone), set(std::forward(args)...), needsBarrier(false) {} template explicit WeakCache(JSRuntime* rt, Args&&... args) - : WeakCacheBase(rt), set(mozilla::Forward(args)...), needsBarrier(false) + : WeakCacheBase(rt), set(std::forward(args)...), needsBarrier(false) {} size_t sweep() override { @@ -775,27 +770,27 @@ class WeakCache> template bool add(AddPtr& p, TInput&& t) { - return set.add(p, mozilla::Forward(t)); + return set.add(p, std::forward(t)); } template bool relookupOrAdd(AddPtr& p, const Lookup& l, TInput&& t) { - return set.relookupOrAdd(p, l, mozilla::Forward(t)); + return set.relookupOrAdd(p, l, std::forward(t)); } template bool put(TInput&& t) { - return set.put(mozilla::Forward(t)); + return set.put(std::forward(t)); } template bool putNew(TInput&& t) { - return set.putNew(mozilla::Forward(t)); + return set.putNew(std::forward(t)); } template bool putNew(const Lookup& l, TInput&& t) { - return set.putNew(l, mozilla::Forward(t)); + return set.putNew(l, std::forward(t)); } }; diff --git a/js/public/GCVector.h b/js/public/GCVector.h index 45d2f046ccd5..7f55fd682ba2 100644 --- a/js/public/GCVector.h +++ b/js/public/GCVector.h @@ -76,17 +76,17 @@ class GCVector void clear() { return vector.clear(); } void clearAndFree() { return vector.clearAndFree(); } - template bool append(U&& item) { return vector.append(mozilla::Forward(item)); } + template bool append(U&& item) { return vector.append(std::forward(item)); } template MOZ_MUST_USE bool emplaceBack(Args&&... args) { - return vector.emplaceBack(mozilla::Forward(args)...); + return vector.emplaceBack(std::forward(args)...); } template void infallibleAppend(U&& aU) { - return vector.infallibleAppend(mozilla::Forward(aU)); + return vector.infallibleAppend(std::forward(aU)); } void infallibleAppendN(const T& aT, size_t aN) { return vector.infallibleAppendN(aT, aN); @@ -214,10 +214,10 @@ class MutableWrappedPtrOperations, Wrappe void clear() { vec().clear(); } void clearAndFree() { vec().clearAndFree(); } template - MOZ_MUST_USE bool append(U&& aU) { return vec().append(mozilla::Forward(aU)); } + MOZ_MUST_USE bool append(U&& aU) { return vec().append(std::forward(aU)); } template MOZ_MUST_USE bool emplaceBack(Args&&... aArgs) { - return vec().emplaceBack(mozilla::Forward(aArgs...)); + return vec().emplaceBack(std::forward(aArgs...)); } template MOZ_MUST_USE bool appendAll(const U& aU) { return vec().appendAll(aU); } @@ -231,7 +231,7 @@ class MutableWrappedPtrOperations, Wrappe return vec().append(aBegin, aLength); } template void infallibleAppend(U&& aU) { - vec().infallibleAppend(mozilla::Forward(aU)); + vec().infallibleAppend(std::forward(aU)); } void infallibleAppendN(const T& aT, size_t aN) { vec().infallibleAppendN(aT, aN); } template void infallibleAppend(const U* aBegin, const U* aEnd) { @@ -243,7 +243,7 @@ class MutableWrappedPtrOperations, Wrappe void popBack() { vec().popBack(); } T popCopy() { return vec().popCopy(); } template T* insert(T* aP, U&& aVal) { - return vec().insert(aP, mozilla::Forward(aVal)); + return vec().insert(aP, std::forward(aVal)); } void erase(T* aT) { vec().erase(aT); } void erase(T* aBegin, T* aEnd) { vec().erase(aBegin, aEnd); } diff --git a/js/public/HashTable.h b/js/public/HashTable.h index 72e9adf77113..16def6c5e0d1 100644 --- a/js/public/HashTable.h +++ b/js/public/HashTable.h @@ -155,20 +155,20 @@ class HashMap template MOZ_MUST_USE bool add(AddPtr& p, KeyInput&& k, ValueInput&& v) { return impl.add(p, - mozilla::Forward(k), - mozilla::Forward(v)); + std::forward(k), + std::forward(v)); } template MOZ_MUST_USE bool add(AddPtr& p, KeyInput&& k) { - return impl.add(p, mozilla::Forward(k), Value()); + return impl.add(p, std::forward(k), Value()); } template MOZ_MUST_USE bool relookupOrAdd(AddPtr& p, KeyInput&& k, ValueInput&& v) { return impl.relookupOrAdd(p, k, - mozilla::Forward(k), - mozilla::Forward(v)); + std::forward(k), + std::forward(v)); } // |all()| returns a Range containing |count()| elements. E.g.: @@ -241,22 +241,22 @@ class HashMap MOZ_MUST_USE bool put(KeyInput&& k, ValueInput&& v) { AddPtr p = lookupForAdd(k); if (p) { - p->value() = mozilla::Forward(v); + p->value() = std::forward(v); return true; } - return add(p, mozilla::Forward(k), mozilla::Forward(v)); + return add(p, std::forward(k), std::forward(v)); } // Like put, but assert that the given key is not already present. template MOZ_MUST_USE bool putNew(KeyInput&& k, ValueInput&& v) { - return impl.putNew(k, mozilla::Forward(k), mozilla::Forward(v)); + return impl.putNew(k, std::forward(k), std::forward(v)); } // Only call this to populate an empty map after reserving space with init(). template void putNewInfallible(KeyInput&& k, ValueInput&& v) { - impl.putNewInfallible(k, mozilla::Forward(k), mozilla::Forward(v)); + impl.putNewInfallible(k, std::forward(k), std::forward(v)); } // Add (k,defaultValue) if |k| is not found. Return a false-y Ptr on oom. @@ -410,12 +410,12 @@ class HashSet template MOZ_MUST_USE bool add(AddPtr& p, U&& u) { - return impl.add(p, mozilla::Forward(u)); + return impl.add(p, std::forward(u)); } template MOZ_MUST_USE bool relookupOrAdd(AddPtr& p, const Lookup& l, U&& u) { - return impl.relookupOrAdd(p, l, mozilla::Forward(u)); + return impl.relookupOrAdd(p, l, std::forward(u)); } // |all()| returns a Range containing |count()| elements: @@ -487,24 +487,24 @@ class HashSet template MOZ_MUST_USE bool put(U&& u) { AddPtr p = lookupForAdd(u); - return p ? true : add(p, mozilla::Forward(u)); + return p ? true : add(p, std::forward(u)); } // Like put, but assert that the given key is not already present. template MOZ_MUST_USE bool putNew(U&& u) { - return impl.putNew(u, mozilla::Forward(u)); + return impl.putNew(u, std::forward(u)); } template MOZ_MUST_USE bool putNew(const Lookup& l, U&& u) { - return impl.putNew(l, mozilla::Forward(u)); + return impl.putNew(l, std::forward(u)); } // Only call this to populate an empty set after reserving space with init(). template void putNewInfallible(const Lookup& l, U&& u) { - impl.putNewInfallible(l, mozilla::Forward(u)); + impl.putNewInfallible(l, std::forward(u)); } void remove(const Lookup& l) { @@ -712,13 +712,13 @@ struct FallibleHashMethods template static bool HasHash(Lookup&& l) { - return FallibleHashMethods::hasHash(mozilla::Forward(l)); + return FallibleHashMethods::hasHash(std::forward(l)); } template static bool EnsureHash(Lookup&& l) { - return FallibleHashMethods::ensureHash(mozilla::Forward(l)); + return FallibleHashMethods::ensureHash(std::forward(l)); } /*****************************************************************************/ @@ -741,8 +741,8 @@ class HashMapEntry public: template HashMapEntry(KeyInput&& k, ValueInput&& v) - : key_(mozilla::Forward(k)), - value_(mozilla::Forward(v)) + : key_(std::forward(k)), + value_(std::forward(v)) {} HashMapEntry(HashMapEntry&& rhs) @@ -920,7 +920,7 @@ class HashTableEntry { MOZ_ASSERT(!isLive()); keyHash = hn; - new (valuePtr()) T(mozilla::Forward(args)...); + new (valuePtr()) T(std::forward(args)...); MOZ_ASSERT(isLive()); } }; @@ -1729,7 +1729,7 @@ class HashTable : private AllocPolicy keyHash |= sCollisionBit; } - entry->setLive(keyHash, mozilla::Forward(args)...); + entry->setLive(keyHash, std::forward(args)...); entryCount++; #ifdef JS_DEBUG mutationCount++; @@ -1880,7 +1880,7 @@ class HashTable : private AllocPolicy p.entry_ = &findFreeEntry(p.keyHash); } - p.entry_->setLive(p.keyHash, mozilla::Forward(args)...); + p.entry_->setLive(p.keyHash, std::forward(args)...); entryCount++; #ifdef JS_DEBUG mutationCount++; @@ -1897,7 +1897,7 @@ class HashTable : private AllocPolicy { MOZ_ASSERT(!lookup(l).found()); mozilla::ReentrancyGuard g(*this); - putNewInfallibleInternal(l, mozilla::Forward(args)...); + putNewInfallibleInternal(l, std::forward(args)...); } // Note: |l| may be alias arguments in |args|, so this function must take @@ -1914,7 +1914,7 @@ class HashTable : private AllocPolicy if (checkOverloaded() == RehashFailed) return false; - putNewInfallible(l, mozilla::Forward(args)...); + putNewInfallible(l, std::forward(args)...); return true; } @@ -1936,7 +1936,7 @@ class HashTable : private AllocPolicy MOZ_ASSERT(prepareHash(l) == p.keyHash); // l has not been destroyed p.entry_ = &lookup(l, p.keyHash, sCollisionBit); } - return p.found() || add(p, mozilla::Forward(args)...); + return p.found() || add(p, std::forward(args)...); } void remove(Ptr p) diff --git a/js/public/HeapAPI.h b/js/public/HeapAPI.h index 8a89d0a5ac03..e40725e47e7e 100644 --- a/js/public/HeapAPI.h +++ b/js/public/HeapAPI.h @@ -347,12 +347,12 @@ class JS_FRIEND_API(GCCellPtr) template auto DispatchTyped(F f, GCCellPtr thing, Args&&... args) - -> decltype(f(static_cast(nullptr), mozilla::Forward(args)...)) + -> decltype(f(static_cast(nullptr), std::forward(args)...)) { switch (thing.kind()) { #define JS_EXPAND_DEF(name, type, _) \ case JS::TraceKind::name: \ - return f(&thing.as(), mozilla::Forward(args)...); + return f(&thing.as(), std::forward(args)...); JS_FOR_EACH_TRACEKIND(JS_EXPAND_DEF); #undef JS_EXPAND_DEF default: diff --git a/js/public/Id.h b/js/public/Id.h index 0854d7c5171a..d0c9b1988ee6 100644 --- a/js/public/Id.h +++ b/js/public/Id.h @@ -229,12 +229,12 @@ struct BarrierMethods template auto DispatchTyped(F f, const jsid& id, Args&&... args) - -> decltype(f(static_cast(nullptr), mozilla::Forward(args)...)) + -> decltype(f(static_cast(nullptr), std::forward(args)...)) { if (JSID_IS_STRING(id)) - return f(JSID_TO_STRING(id), mozilla::Forward(args)...); + return f(JSID_TO_STRING(id), std::forward(args)...); if (JSID_IS_SYMBOL(id)) - return f(JSID_TO_SYMBOL(id), mozilla::Forward(args)...); + return f(JSID_TO_SYMBOL(id), std::forward(args)...); MOZ_ASSERT(!JSID_IS_GCTHING(id)); return F::defaultValue(id); } diff --git a/js/public/RootingAPI.h b/js/public/RootingAPI.h index 0aeb139fc339..25826f668ea0 100644 --- a/js/public/RootingAPI.h +++ b/js/public/RootingAPI.h @@ -768,10 +768,10 @@ template struct FallibleHashMethods> { template static bool hasHash(Lookup&& l) { - return MovableCellHasher::hasHash(mozilla::Forward(l)); + return MovableCellHasher::hasHash(std::forward(l)); } template static bool ensureHash(Lookup&& l) { - return MovableCellHasher::ensureHash(mozilla::Forward(l)); + return MovableCellHasher::ensureHash(std::forward(l)); } }; @@ -801,7 +801,7 @@ class alignas(8) DispatchWrapper template MOZ_IMPLICIT DispatchWrapper(U&& initial) : tracer(&JS::GCPolicy::trace), - storage(mozilla::Forward(initial)) + storage(std::forward(initial)) { } // Mimic a pointer type, so that we can drop into Rooted. @@ -995,7 +995,7 @@ class MOZ_RAII Rooted : public js::RootedBase> template Rooted(const RootingContext& cx, S&& initial) - : ptr(mozilla::Forward(initial)) + : ptr(std::forward(initial)) { MOZ_ASSERT(GCPolicy::isValid(ptr)); registerWithRootLists(rootLists(cx)); @@ -1279,14 +1279,14 @@ class PersistentRooted : public js::RootedBase>, template PersistentRooted(RootingContext* cx, U&& initial) - : ptr(mozilla::Forward(initial)) + : ptr(std::forward(initial)) { registerWithRootLists(cx); } template PersistentRooted(JSContext* cx, U&& initial) - : ptr(mozilla::Forward(initial)) + : ptr(std::forward(initial)) { registerWithRootLists(RootingContext::get(cx)); } @@ -1299,7 +1299,7 @@ class PersistentRooted : public js::RootedBase>, template PersistentRooted(JSRuntime* rt, U&& initial) - : ptr(mozilla::Forward(initial)) + : ptr(std::forward(initial)) { registerWithRootLists(rt); } @@ -1329,7 +1329,7 @@ class PersistentRooted : public js::RootedBase>, template void init(JSContext* cx, U&& initial) { - ptr = mozilla::Forward(initial); + ptr = std::forward(initial); registerWithRootLists(RootingContext::get(cx)); } @@ -1360,7 +1360,7 @@ class PersistentRooted : public js::RootedBase>, template void set(U&& value) { MOZ_ASSERT(initialized()); - ptr = mozilla::Forward(value); + ptr = std::forward(value); } detail::MaybeWrapped ptr; diff --git a/js/public/SweepingAPI.h b/js/public/SweepingAPI.h index eed9f7f14073..fed8c57cca79 100644 --- a/js/public/SweepingAPI.h +++ b/js/public/SweepingAPI.h @@ -66,11 +66,11 @@ class WeakCache : protected detail::WeakCacheBase, template explicit WeakCache(Zone* zone, Args&&... args) - : WeakCacheBase(zone), cache(mozilla::Forward(args)...) + : WeakCacheBase(zone), cache(std::forward(args)...) {} template explicit WeakCache(JSRuntime* rt, Args&&... args) - : WeakCacheBase(rt), cache(mozilla::Forward(args)...) + : WeakCacheBase(rt), cache(std::forward(args)...) {} const T& get() const { return cache; } diff --git a/js/public/TraceKind.h b/js/public/TraceKind.h index 719ed7945013..be3f6b36b9ca 100644 --- a/js/public/TraceKind.h +++ b/js/public/TraceKind.h @@ -196,12 +196,12 @@ template <> struct MapTypeToRootKind : public MapTypeToRootKind auto DispatchTraceKindTyped(F f, JS::TraceKind traceKind, Args&&... args) - -> decltype(f. JS_DEPENDENT_TEMPLATE_HINT operator()(mozilla::Forward(args)...)) + -> decltype(f. JS_DEPENDENT_TEMPLATE_HINT operator()(std::forward(args)...)) { switch (traceKind) { #define JS_EXPAND_DEF(name, type, _) \ case JS::TraceKind::name: \ - return f. JS_DEPENDENT_TEMPLATE_HINT operator()(mozilla::Forward(args)...); + return f. JS_DEPENDENT_TEMPLATE_HINT operator()(std::forward(args)...); JS_FOR_EACH_TRACEKIND(JS_EXPAND_DEF); #undef JS_EXPAND_DEF default: @@ -213,12 +213,12 @@ DispatchTraceKindTyped(F f, JS::TraceKind traceKind, Args&&... args) template auto DispatchTraceKindTyped(F f, void* thing, JS::TraceKind traceKind, Args&&... args) - -> decltype(f(static_cast(nullptr), mozilla::Forward(args)...)) + -> decltype(f(static_cast(nullptr), std::forward(args)...)) { switch (traceKind) { #define JS_EXPAND_DEF(name, type, _) \ case JS::TraceKind::name: \ - return f(static_cast(thing), mozilla::Forward(args)...); + return f(static_cast(thing), std::forward(args)...); JS_FOR_EACH_TRACEKIND(JS_EXPAND_DEF); #undef JS_EXPAND_DEF default: diff --git a/js/public/UbiNode.h b/js/public/UbiNode.h index 9d0e74827f3b..96fcbdd2b456 100644 --- a/js/public/UbiNode.h +++ b/js/public/UbiNode.h @@ -176,7 +176,6 @@ class StackFrame; namespace JS { namespace ubi { -using mozilla::Forward; using mozilla::Maybe; using mozilla::RangedPtr; using mozilla::Variant; @@ -196,13 +195,13 @@ class JS_PUBLIC_API(AtomOrTwoByteChars) : public Variant - MOZ_IMPLICIT AtomOrTwoByteChars(T&& rhs) : Base(Forward(rhs)) { } + MOZ_IMPLICIT AtomOrTwoByteChars(T&& rhs) : Base(std::forward(rhs)) { } template AtomOrTwoByteChars& operator=(T&& rhs) { MOZ_ASSERT(this != &rhs, "self-move disallowed"); this->~AtomOrTwoByteChars(); - new (this) AtomOrTwoByteChars(Forward(rhs)); + new (this) AtomOrTwoByteChars(std::forward(rhs)); return *this; } diff --git a/js/public/UniquePtr.h b/js/public/UniquePtr.h index 37e14bc5a0c7..cf854cdd2e07 100644 --- a/js/public/UniquePtr.h +++ b/js/public/UniquePtr.h @@ -45,7 +45,7 @@ template typename detail::UniqueSelector::SingleObject MakeUnique(Args&&... aArgs) { - return UniquePtr(js_new(mozilla::Forward(aArgs)...)); + return UniquePtr(js_new(std::forward(aArgs)...)); } template diff --git a/js/public/Utility.h b/js/public/Utility.h index 53297db85c4c..63b8aff9bcc8 100644 --- a/js/public/Utility.h +++ b/js/public/Utility.h @@ -479,7 +479,7 @@ JS_PUBLIC_API(char*) js_strdup(const char* s); NEWNAME(Args&&... args) MOZ_HEAP_ALLOCATOR { \ void* memory = ALLOCATOR(sizeof(T)); \ return MOZ_LIKELY(memory) \ - ? new(memory) T(mozilla::Forward(args)...) \ + ? new(memory) T(std::forward(args)...) \ : nullptr; \ } @@ -497,7 +497,7 @@ JS_PUBLIC_API(char*) js_strdup(const char* s); template \ QUALIFIERS mozilla::UniquePtr> \ MAKENAME(Args&&... args) MOZ_HEAP_ALLOCATOR { \ - T* ptr = NEWNAME(mozilla::Forward(args)...); \ + T* ptr = NEWNAME(std::forward(args)...); \ return mozilla::UniquePtr>(ptr); \ } diff --git a/js/public/Value.h b/js/public/Value.h index 6a438924e18f..20470b22ba07 100644 --- a/js/public/Value.h +++ b/js/public/Value.h @@ -1429,33 +1429,33 @@ class HeapBase : public WrappedPtrOperations auto DispatchTyped(F f, const JS::Value& val, Args&&... args) - -> decltype(f(static_cast(nullptr), mozilla::Forward(args)...)) + -> decltype(f(static_cast(nullptr), std::forward(args)...)) { if (val.isString()) { JSString* str = val.toString(); MOZ_ASSERT(gc::IsCellPointerValid(str)); - return f(str, mozilla::Forward(args)...); + return f(str, std::forward(args)...); } if (val.isObject()) { JSObject* obj = &val.toObject(); MOZ_ASSERT(gc::IsCellPointerValid(obj)); - return f(obj, mozilla::Forward(args)...); + return f(obj, std::forward(args)...); } if (val.isSymbol()) { JS::Symbol* sym = val.toSymbol(); MOZ_ASSERT(gc::IsCellPointerValid(sym)); - return f(sym, mozilla::Forward(args)...); + return f(sym, std::forward(args)...); } #ifdef ENABLE_BIGINT if (val.isBigInt()) { JS::BigInt* bi = val.toBigInt(); MOZ_ASSERT(gc::IsCellPointerValid(bi)); - return f(bi, mozilla::Forward(args)...); + return f(bi, std::forward(args)...); } #endif if (MOZ_UNLIKELY(val.isPrivateGCThing())) { MOZ_ASSERT(gc::IsCellPointerValid(val.toGCThing())); - return DispatchTyped(f, val.toGCCellPtr(), mozilla::Forward(args)...); + return DispatchTyped(f, val.toGCCellPtr(), std::forward(args)...); } MOZ_ASSERT(!val.isGCThing()); return F::defaultValue(val); diff --git a/js/src/builtin/ReflectParse.cpp b/js/src/builtin/ReflectParse.cpp index 074076464220..1f052be21706 100644 --- a/js/src/builtin/ReflectParse.cpp +++ b/js/src/builtin/ReflectParse.cpp @@ -31,7 +31,6 @@ using namespace js::frontend; using JS::AutoValueArray; using mozilla::DebugOnly; -using mozilla::Forward; enum ASTType { AST_ERROR = -1, @@ -322,7 +321,7 @@ class NodeBuilder // Recursive loop to store the arguments into args. This eventually // bottoms out in a call to the non-template callbackHelper() above. args[i].set(head); - return callbackHelper(fun, args, i + 1, Forward(tail)...); + return callbackHelper(fun, args, i + 1, std::forward(tail)...); } // Invoke a user-defined callback. The actual signature is: @@ -335,7 +334,7 @@ class NodeBuilder if (!iargs.init(cx, sizeof...(args) - 2 + size_t(saveLoc))) return false; - return callbackHelper(fun, iargs, 0, Forward(args)...); + return callbackHelper(fun, iargs, 0, std::forward(args)...); } // WARNING: Returning a Handle is non-standard, but it works in this case @@ -388,7 +387,7 @@ class NodeBuilder // `name` and `value`. This eventually bottoms out in a call to the // non-template newNodeHelper() above. return defineProperty(obj, name, value) - && newNodeHelper(obj, Forward(rest)...); + && newNodeHelper(obj, std::forward(rest)...); } // Create a node object with "type" and "loc" properties, as well as zero @@ -402,7 +401,7 @@ class NodeBuilder MOZ_MUST_USE bool newNode(ASTType type, TokenPos* pos, Arguments&&... args) { RootedObject node(cx); return createNode(type, pos, &node) && - newNodeHelper(node, Forward(args)...); + newNodeHelper(node, std::forward(args)...); } MOZ_MUST_USE bool listNode(ASTType type, const char* propName, NodeVector& elts, TokenPos* pos, diff --git a/js/src/ds/Fifo.h b/js/src/ds/Fifo.h index e2571b7383d2..c50674f3934b 100644 --- a/js/src/ds/Fifo.h +++ b/js/src/ds/Fifo.h @@ -124,7 +124,7 @@ class Fifo // |const T&| or a |T&&|. template MOZ_MUST_USE bool pushBack(U&& u) { - if (!rear_.append(mozilla::Forward(u))) + if (!rear_.append(std::forward(u))) return false; fixup(); return true; @@ -133,7 +133,7 @@ class Fifo // Construct a T in-place at the back of the queue. template MOZ_MUST_USE bool emplaceBack(Args&&... args) { - if (!rear_.emplaceBack(mozilla::Forward(args)...)) + if (!rear_.emplaceBack(std::forward(args)...)) return false; fixup(); return true; diff --git a/js/src/ds/InlineTable.h b/js/src/ds/InlineTable.h index 09d41ae004c0..456100e73fdc 100644 --- a/js/src/ds/InlineTable.h +++ b/js/src/ds/InlineTable.h @@ -298,8 +298,8 @@ class InlineTable : private AllocPolicy if (addPtr == inlineStart() + InlineEntries) { if (!switchToTable()) return false; - return table_.putNew(mozilla::Forward(key), - mozilla::Forward(args)...); + return table_.putNew(std::forward(key), + std::forward(args)...); } MOZ_ASSERT(!p.found()); @@ -308,16 +308,16 @@ class InlineTable : private AllocPolicy if (!this->checkSimulatedOOM()) return false; - addPtr->update(mozilla::Forward(key), - mozilla::Forward(args)...); + addPtr->update(std::forward(key), + std::forward(args)...); ++inlCount_; ++inlNext_; return true; } return table_.add(p.tableAddPtr_, - mozilla::Forward(key), - mozilla::Forward(args)...); + std::forward(key), + std::forward(args)...); } void remove(Ptr& p) { @@ -440,8 +440,8 @@ class InlineMap template void update(KeyInput&& key, ValueInput&& value) { - this->key = mozilla::Forward(key); - this->value = mozilla::Forward(value); + this->key = std::forward(key); + this->value = std::forward(value); } MOZ_MUST_USE bool moveTo(Map& map) { @@ -537,17 +537,17 @@ class InlineMap template MOZ_ALWAYS_INLINE MOZ_MUST_USE bool add(AddPtr& p, KeyInput&& key, ValueInput&& value) { - return impl_.add(p, mozilla::Forward(key), mozilla::Forward(value)); + return impl_.add(p, std::forward(key), std::forward(value)); } template MOZ_MUST_USE bool put(KeyInput&& key, ValueInput&& value) { AddPtr p = lookupForAdd(key); if (p) { - p->value() = mozilla::Forward(value); + p->value() = std::forward(value); return true; } - return add(p, mozilla::Forward(key), mozilla::Forward(value)); + return add(p, std::forward(key), std::forward(value)); } void remove(Ptr& p) { @@ -579,7 +579,7 @@ class InlineSet template void update(TInput&& key) { - this->key = mozilla::Forward(key); + this->key = std::forward(key); } MOZ_MUST_USE bool moveTo(Set& set) { @@ -668,13 +668,13 @@ class InlineSet template MOZ_ALWAYS_INLINE MOZ_MUST_USE bool add(AddPtr& p, TInput&& key) { - return impl_.add(p, mozilla::Forward(key)); + return impl_.add(p, std::forward(key)); } template MOZ_MUST_USE bool put(TInput&& key) { AddPtr p = lookupForAdd(key); - return p ? true : add(p, mozilla::Forward(key)); + return p ? true : add(p, std::forward(key)); } void remove(Ptr& p) { diff --git a/js/src/ds/LifoAlloc.h b/js/src/ds/LifoAlloc.h index 55c32fe1dbd5..dd388cfb41ea 100644 --- a/js/src/ds/LifoAlloc.h +++ b/js/src/ds/LifoAlloc.h @@ -606,7 +606,7 @@ class LifoAlloc if (!ptr) return nullptr; - return new (ptr) T(mozilla::Forward(args)...); + return new (ptr) T(std::forward(args)...); } MOZ_ALWAYS_INLINE diff --git a/js/src/ds/OrderedHashTable.h b/js/src/ds/OrderedHashTable.h index f4d17cc26a10..661533648449 100644 --- a/js/src/ds/OrderedHashTable.h +++ b/js/src/ds/OrderedHashTable.h @@ -40,8 +40,6 @@ #include "mozilla/HashFunctions.h" #include "mozilla/Move.h" -using mozilla::Forward; - namespace js { namespace detail { @@ -176,7 +174,7 @@ class OrderedHashTable MOZ_MUST_USE bool put(ElementInput&& element) { HashNumber h = prepareHash(Ops::getKey(element)); if (Data* e = lookup(Ops::getKey(element), h)) { - e->element = Forward(element); + e->element = std::forward(element); return true; } @@ -191,7 +189,7 @@ class OrderedHashTable h >>= hashShift; liveCount++; Data* e = &data[dataLength++]; - new (e) Data(Forward(element), hashTable[h]); + new (e) Data(std::forward(element), hashTable[h]); hashTable[h] = e; return true; } @@ -761,7 +759,7 @@ class OrderedHashMap public: Entry() : key(), value() {} template - Entry(const Key& k, V&& v) : key(k), value(Forward(v)) {} + Entry(const Key& k, V&& v) : key(k), value(std::forward(v)) {} Entry(Entry&& rhs) : key(std::move(rhs.key)), value(std::move(rhs.value)) {} const Key key; @@ -808,7 +806,7 @@ class OrderedHashMap template MOZ_MUST_USE bool put(const Key& key, V&& value) { - return impl.put(Entry(key, Forward(value))); + return impl.put(Entry(key, std::forward(value))); } HashNumber hash(const Key& key) const { return impl.prepareHash(key); } diff --git a/js/src/ds/TraceableFifo.h b/js/src/ds/TraceableFifo.h index 47dd1b76d5ba..4679e179c31c 100644 --- a/js/src/ds/TraceableFifo.h +++ b/js/src/ds/TraceableFifo.h @@ -74,9 +74,9 @@ class MutableWrappedPtrOperations, Wrapp public: T& front() { return fifo().front(); } - template bool pushBack(U&& u) { return fifo().pushBack(mozilla::Forward(u)); } + template bool pushBack(U&& u) { return fifo().pushBack(std::forward(u)); } template bool emplaceBack(Args&&... args) { - return fifo().emplaceBack(mozilla::Forward(args...)); + return fifo().emplaceBack(std::forward(args...)); } void popFront() { fifo().popFront(); } diff --git a/js/src/frontend/EitherParser.h b/js/src/frontend/EitherParser.h index 418971c88bd5..2b6025eb68bd 100644 --- a/js/src/frontend/EitherParser.h +++ b/js/src/frontend/EitherParser.h @@ -46,7 +46,7 @@ struct InvokeMemberFunction public: template explicit InvokeMemberFunction(ActualArgs&&... actualArgs) - : args { mozilla::Forward(actualArgs)... } + : args { std::forward(actualArgs)... } {} template diff --git a/js/src/gc/GC.cpp b/js/src/gc/GC.cpp index 16d670677d63..688286b722ba 100644 --- a/js/src/gc/GC.cpp +++ b/js/src/gc/GC.cpp @@ -6252,7 +6252,7 @@ struct IncrementalIter : maybeIter(maybeIter) { if (maybeIter.isNothing()) - maybeIter.emplace(mozilla::Forward(args)...); + maybeIter.emplace(std::forward(args)...); } ~IncrementalIter() { diff --git a/js/src/gc/Marking.cpp b/js/src/gc/Marking.cpp index 5676747147ee..e0af9a40adf0 100644 --- a/js/src/gc/Marking.cpp +++ b/js/src/gc/Marking.cpp @@ -1466,12 +1466,12 @@ CallTraceHook(Functor f, JSTracer* trc, JSObject* obj, CheckGeneration check, Ar if (clasp->isTrace(InlineTypedObject::obj_trace)) { Shape** pshape = obj->as().addressOfShapeFromGC(); - f(pshape, mozilla::Forward(args)...); + f(pshape, std::forward(args)...); InlineTypedObject& tobj = obj->as(); if (tobj.typeDescr().hasTraceList()) { VisitTraceList(f, tobj.typeDescr().traceList(), tobj.inlineTypedMemForGC(), - mozilla::Forward(args)...); + std::forward(args)...); } return nullptr; @@ -1480,7 +1480,7 @@ CallTraceHook(Functor f, JSTracer* trc, JSObject* obj, CheckGeneration check, Ar if (clasp == &UnboxedPlainObject::class_) { JSObject** pexpando = obj->as().addressOfExpando(); if (*pexpando) - f(pexpando, mozilla::Forward(args)...); + f(pexpando, std::forward(args)...); UnboxedPlainObject& unboxed = obj->as(); const UnboxedLayout& layout = check == CheckGeneration::DoChecks @@ -1488,7 +1488,7 @@ CallTraceHook(Functor f, JSTracer* trc, JSObject* obj, CheckGeneration check, Ar : unboxed.layoutDontCheckGeneration(); if (layout.traceList()) { VisitTraceList(f, layout.traceList(), unboxed.data(), - mozilla::Forward(args)...); + std::forward(args)...); } return nullptr; @@ -1506,19 +1506,19 @@ static void VisitTraceList(F f, const int32_t* traceList, uint8_t* memory, Args&&... args) { while (*traceList != -1) { - f(reinterpret_cast(memory + *traceList), mozilla::Forward(args)...); + f(reinterpret_cast(memory + *traceList), std::forward(args)...); traceList++; } traceList++; while (*traceList != -1) { JSObject** objp = reinterpret_cast(memory + *traceList); if (*objp) - f(objp, mozilla::Forward(args)...); + f(objp, std::forward(args)...); traceList++; } traceList++; while (*traceList != -1) { - f(reinterpret_cast(memory + *traceList), mozilla::Forward(args)...); + f(reinterpret_cast(memory + *traceList), std::forward(args)...); traceList++; } } diff --git a/js/src/gc/Zone.h b/js/src/gc/Zone.h index d6fdfcf857b7..66848b3454ab 100644 --- a/js/src/gc/Zone.h +++ b/js/src/gc/Zone.h @@ -207,7 +207,7 @@ struct Zone : public JS::shadow::Zone, // in gc/GC-inl.h for the possible arguments and documentation. template js::gc::ZoneCellIter cellIter(Args&&... args) { - return js::gc::ZoneCellIter(const_cast(this), mozilla::Forward(args)...); + return js::gc::ZoneCellIter(const_cast(this), std::forward(args)...); } MOZ_MUST_USE void* onOutOfMemory(js::AllocFunction allocFunc, size_t nbytes, diff --git a/js/src/jit/IonControlFlow.h b/js/src/jit/IonControlFlow.h index bf907f13a939..fee8142ad719 100644 --- a/js/src/jit/IonControlFlow.h +++ b/js/src/jit/IonControlFlow.h @@ -25,12 +25,12 @@ class CFGControlInstruction; #define TRIVIAL_CFG_NEW_WRAPPERS \ template \ static CFGThisOpcode* New(TempAllocator& alloc, Args&&... args) { \ - return new(alloc) CFGThisOpcode(mozilla::Forward(args)...); \ + return new(alloc) CFGThisOpcode(std::forward(args)...); \ } \ template \ static CFGThisOpcode* New(TempAllocator::Fallible alloc, Args&&... args) \ { \ - return new(alloc) CFGThisOpcode(mozilla::Forward(args)...); \ + return new(alloc) CFGThisOpcode(std::forward(args)...); \ } class CFGSpace diff --git a/js/src/jit/MIR.h b/js/src/jit/MIR.h index 25a5c195df6c..e90b500de415 100644 --- a/js/src/jit/MIR.h +++ b/js/src/jit/MIR.h @@ -1251,23 +1251,23 @@ class MInstruction #define TRIVIAL_NEW_WRAPPERS \ template \ static MThisOpcode* New(TempAllocator& alloc, Args&&... args) { \ - return new(alloc) MThisOpcode(mozilla::Forward(args)...); \ + return new(alloc) MThisOpcode(std::forward(args)...); \ } \ template \ static MThisOpcode* New(TempAllocator::Fallible alloc, Args&&... args) \ { \ - return new(alloc) MThisOpcode(mozilla::Forward(args)...); \ + return new(alloc) MThisOpcode(std::forward(args)...); \ } #define TRIVIAL_NEW_WRAPPERS_WITH_ALLOC \ template \ static MThisOpcode* New(TempAllocator& alloc, Args&&... args) { \ - return new(alloc) MThisOpcode(alloc, mozilla::Forward(args)...); \ + return new(alloc) MThisOpcode(alloc, std::forward(args)...); \ } \ template \ static MThisOpcode* New(TempAllocator::Fallible alloc, Args&&... args) \ { \ - return new(alloc) MThisOpcode(alloc, mozilla::Forward(args)...); \ + return new(alloc) MThisOpcode(alloc, std::forward(args)...); \ } // These macros are used as a syntactic sugar for writting getOperand diff --git a/js/src/jit/SharedIC.h b/js/src/jit/SharedIC.h index 860663d2eb21..43aa29ebae32 100644 --- a/js/src/jit/SharedIC.h +++ b/js/src/jit/SharedIC.h @@ -536,7 +536,7 @@ class ICStub static T* New(JSContext* cx, ICStubSpace* space, JitCode* code, Args&&... args) { if (!code) return nullptr; - T* result = space->allocate(code, mozilla::Forward(args)...); + T* result = space->allocate(code, std::forward(args)...); if (!result) ReportOutOfMemory(cx); return result; @@ -1130,7 +1130,7 @@ class ICStubCompiler protected: template T* newStub(Args&&... args) { - return ICStub::New(cx, mozilla::Forward(args)...); + return ICStub::New(cx, std::forward(args)...); } public: diff --git a/js/src/jit/shared/Assembler-shared.h b/js/src/jit/shared/Assembler-shared.h index 1b618f07719b..05adfea10ea2 100644 --- a/js/src/jit/shared/Assembler-shared.h +++ b/js/src/jit/shared/Assembler-shared.h @@ -927,7 +927,7 @@ class AssemblerShared template void append(const wasm::CallSiteDesc& desc, CodeOffset retAddr, Args&&... args) { enoughMemory_ &= callSites_.emplaceBack(desc, retAddr.offset()); - enoughMemory_ &= callSiteTargets_.emplaceBack(mozilla::Forward(args)...); + enoughMemory_ &= callSiteTargets_.emplaceBack(std::forward(args)...); } void append(wasm::Trap trap, wasm::TrapSite site) { enoughMemory_ &= trapSites_[trap].append(site); diff --git a/js/src/jit/shared/CodeGenerator-shared.h b/js/src/jit/shared/CodeGenerator-shared.h index 088b73015c7f..958d217b7d3d 100644 --- a/js/src/jit/shared/CodeGenerator-shared.h +++ b/js/src/jit/shared/CodeGenerator-shared.h @@ -653,8 +653,8 @@ class ArgSeq : public ArgSeq public: template explicit ArgSeq(ProvidedHead&& head, ProvidedTail&&... tail) - : ArgSeq(mozilla::Forward(tail)...), - head_(mozilla::Forward(head)) + : ArgSeq(std::forward(tail)...), + head_(std::forward(head)) { } // Arguments are pushed in reverse order, from last argument to first @@ -669,7 +669,7 @@ template inline ArgSeq ArgList(ArgTypes&&... args) { - return ArgSeq(mozilla::Forward(args)...); + return ArgSeq(std::forward(args)...); } // Store wrappers, to generate the right move of data after the VM call. diff --git a/js/src/jit/shared/Lowering-shared-inl.h b/js/src/jit/shared/Lowering-shared-inl.h index 7036e2b1bcd6..844d3a01ec2f 100644 --- a/js/src/jit/shared/Lowering-shared-inl.h +++ b/js/src/jit/shared/Lowering-shared-inl.h @@ -480,7 +480,7 @@ LIRGeneratorShared::allocateVariadic(uint32_t numOperands, Args&&... args) return nullptr; LClass* ins = static_cast(buf); - new(ins) LClass(numOperands, mozilla::Forward(args)...); + new(ins) LClass(numOperands, std::forward(args)...); ins->initOperandsOffset(sizeof(LClass)); diff --git a/js/src/threading/ExclusiveData.h b/js/src/threading/ExclusiveData.h index 47e10b58ae86..d64e854d4a80 100644 --- a/js/src/threading/ExclusiveData.h +++ b/js/src/threading/ExclusiveData.h @@ -99,7 +99,7 @@ class ExclusiveData template explicit ExclusiveData(const MutexId& id, U&& u) : lock_(id), - value_(mozilla::Forward(u)) + value_(std::forward(u)) {} /** @@ -108,7 +108,7 @@ class ExclusiveData template explicit ExclusiveData(const MutexId& id, Args&&... args) : lock_(id), - value_(mozilla::Forward(args)...) + value_(std::forward(args)...) {} ExclusiveData(ExclusiveData&& rhs) @@ -196,12 +196,12 @@ class ExclusiveWaitableData : public ExclusiveData public: template explicit ExclusiveWaitableData(const MutexId& id, U&& u) - : Base(id, mozilla::Forward(u)) + : Base(id, std::forward(u)) {} template explicit ExclusiveWaitableData(const MutexId& id, Args&&... args) - : Base(id, mozilla::Forward(args)...) + : Base(id, std::forward(args)...) {} class MOZ_STACK_CLASS Guard : public ExclusiveData::Guard diff --git a/js/src/threading/ProtectedData.h b/js/src/threading/ProtectedData.h index b017ec71d75c..7e3d895c07e1 100644 --- a/js/src/threading/ProtectedData.h +++ b/js/src/threading/ProtectedData.h @@ -72,7 +72,7 @@ class ProtectedData public: template explicit ProtectedData(const Check& check, Args&&... args) - : value(mozilla::Forward(args)...) + : value(std::forward(args)...) #ifdef JS_HAS_PROTECTED_DATA_CHECKS , check(check) #endif @@ -136,7 +136,7 @@ class ProtectedDataNoCheckArgs : public ProtectedData public: template explicit ProtectedDataNoCheckArgs(Args&&... args) - : ProtectedData(Check(), mozilla::Forward(args)...) + : ProtectedData(Check(), std::forward(args)...) {} template @@ -152,7 +152,7 @@ class ProtectedDataZoneArg : public ProtectedData public: template explicit ProtectedDataZoneArg(JS::Zone* zone, Args&&... args) - : ProtectedData(Check(zone), mozilla::Forward(args)...) + : ProtectedData(Check(zone), std::forward(args)...) {} template @@ -315,7 +315,7 @@ class ProtectedDataWriteOnce public: template explicit ProtectedDataWriteOnce(Args&&... args) - : value(mozilla::Forward(args)...) + : value(std::forward(args)...) #ifdef JS_HAS_PROTECTED_DATA_CHECKS , nwrites(0) #endif diff --git a/js/src/threading/Thread.h b/js/src/threading/Thread.h index cc9aa53c31f8..ab3defc136ba 100644 --- a/js/src/threading/Thread.h +++ b/js/src/threading/Thread.h @@ -101,7 +101,7 @@ public: explicit Thread(O&& options = Options()) : idMutex_(mutexid::ThreadId) , id_(Id()) - , options_(mozilla::Forward(options)) + , options_(std::forward(options)) { MOZ_ASSERT(js::IsInitialized()); } @@ -117,8 +117,8 @@ public: MOZ_RELEASE_ASSERT(id_ == Id()); using Trampoline = detail::ThreadTrampoline; AutoEnterOOMUnsafeRegion oom; - auto trampoline = js_new(mozilla::Forward(f), - mozilla::Forward(args)...); + auto trampoline = js_new(std::forward(f), + std::forward(args)...); if (!trampoline) oom.crash("js::Thread::init"); return create(Trampoline::Start, trampoline); @@ -225,8 +225,8 @@ public: // even if the class template arguments are correct. template explicit ThreadTrampoline(G&& aG, ArgsT&&... aArgsT) - : f(mozilla::Forward(aG)), - args(mozilla::Forward(aArgsT)...) + : f(std::forward(aG)), + args(std::forward(aArgsT)...) { } diff --git a/js/src/vm/DebuggerMemory.cpp b/js/src/vm/DebuggerMemory.cpp index 943ed11baafe..4269a23f8be6 100644 --- a/js/src/vm/DebuggerMemory.cpp +++ b/js/src/vm/DebuggerMemory.cpp @@ -31,7 +31,6 @@ using namespace js; -using mozilla::Forward; using mozilla::Maybe; using mozilla::Nothing; diff --git a/js/src/vm/ObjectGroup.cpp b/js/src/vm/ObjectGroup.cpp index 96305b3aee05..5513cd10622d 100644 --- a/js/src/vm/ObjectGroup.cpp +++ b/js/src/vm/ObjectGroup.cpp @@ -434,10 +434,10 @@ template <> struct FallibleHashMethods { template static bool hasHash(Lookup&& l) { - return ObjectGroupRealm::NewEntry::hasHash(mozilla::Forward(l)); + return ObjectGroupRealm::NewEntry::hasHash(std::forward(l)); } template static bool ensureHash(Lookup&& l) { - return ObjectGroupRealm::NewEntry::ensureHash(mozilla::Forward(l)); + return ObjectGroupRealm::NewEntry::ensureHash(std::forward(l)); } }; } // namespace js diff --git a/js/src/vm/SavedFrame.h b/js/src/vm/SavedFrame.h index d3f53f99d46b..777e3b8e6cfb 100644 --- a/js/src/vm/SavedFrame.h +++ b/js/src/vm/SavedFrame.h @@ -176,10 +176,10 @@ template <> struct FallibleHashMethods { template static bool hasHash(Lookup&& l) { - return SavedFrame::HashPolicy::hasHash(mozilla::Forward(l)); + return SavedFrame::HashPolicy::hasHash(std::forward(l)); } template static bool ensureHash(Lookup&& l) { - return SavedFrame::HashPolicy::ensureHash(mozilla::Forward(l)); + return SavedFrame::HashPolicy::ensureHash(std::forward(l)); } }; diff --git a/js/src/vm/TaggedProto.h b/js/src/vm/TaggedProto.h index ee13f146ef76..564aba4fa403 100644 --- a/js/src/vm/TaggedProto.h +++ b/js/src/vm/TaggedProto.h @@ -137,10 +137,10 @@ class WrappedPtrOperations template auto DispatchTyped(F f, const TaggedProto& proto, Args&&... args) - -> decltype(f(static_cast(nullptr), mozilla::Forward(args)...)) + -> decltype(f(static_cast(nullptr), std::forward(args)...)) { if (proto.isObject()) - return f(proto.toObject(), mozilla::Forward(args)...); + return f(proto.toObject(), std::forward(args)...); return F::defaultValue(proto); } diff --git a/js/src/wasm/WasmBaselineCompile.cpp b/js/src/wasm/WasmBaselineCompile.cpp index 20f04ac864bb..ef1869e716dc 100644 --- a/js/src/wasm/WasmBaselineCompile.cpp +++ b/js/src/wasm/WasmBaselineCompile.cpp @@ -2308,7 +2308,7 @@ class BaseCompiler final : public BaseCompilerInterface template void push(Args&&... args) { - stk_.infallibleEmplaceBack(Stk(Forward(args)...)); + stk_.infallibleEmplaceBack(Stk(std::forward(args)...)); } void pushConstRef(intptr_t v) { diff --git a/js/xpconnect/loader/ScriptPreloader.cpp b/js/xpconnect/loader/ScriptPreloader.cpp index 1d565999c813..4a88bf62ea1e 100644 --- a/js/xpconnect/loader/ScriptPreloader.cpp +++ b/js/xpconnect/loader/ScriptPreloader.cpp @@ -809,7 +809,7 @@ ScriptPreloader::NoteScript(const nsCString& url, const nsCString& cachePath, MOZ_ASSERT(!script->HasArray()); script->mSize = xdrData.Length(); - script->mXDRData.construct>(Forward>(xdrData)); + script->mXDRData.construct>(std::forward>(xdrData)); auto& data = script->Array(); script->mXDRRange.emplace(data.Elements(), data.Length()); diff --git a/layout/painting/nsDisplayList.h b/layout/painting/nsDisplayList.h index fb9ebee43634..f0577d7eacaf 100644 --- a/layout/painting/nsDisplayList.h +++ b/layout/painting/nsDisplayList.h @@ -2011,7 +2011,7 @@ template MOZ_ALWAYS_INLINE T* MakeDisplayItem(nsDisplayListBuilder* aBuilder, Args&&... aArgs) { - T* item = new (aBuilder) T(aBuilder, mozilla::Forward(aArgs)...); + T* item = new (aBuilder) T(aBuilder, std::forward(aArgs)...); const mozilla::SmallPointerArray& array = item->Frame()->DisplayItemData(); diff --git a/media/mtransport/runnable_utils.h b/media/mtransport/runnable_utils.h index 2248d676cbb2..a41f6526da08 100644 --- a/media/mtransport/runnable_utils.h +++ b/media/mtransport/runnable_utils.h @@ -96,7 +96,7 @@ public: // |explicit| to pacify static analysis when there are no |args|. template explicit runnable_args_func(FunType f, Arguments&&... args) - : mFunc(f), mArgs(Forward(args)...) + : mFunc(f), mArgs(std::forward(args)...) {} NS_IMETHOD Run() override { @@ -113,7 +113,7 @@ template runnable_args_func::Type...>* WrapRunnableNM(FunType f, Args&&... args) { - return new runnable_args_func::Type...>(f, Forward(args)...); + return new runnable_args_func::Type...>(f, std::forward(args)...); } template @@ -122,7 +122,7 @@ class runnable_args_func_ret : public detail::runnable_args_base runnable_args_func_ret(Ret* ret, FunType f, Arguments&&... args) - : mReturn(ret), mFunc(f), mArgs(Forward(args)...) + : mReturn(ret), mFunc(f), mArgs(std::forward(args)...) {} NS_IMETHOD Run() override { @@ -140,7 +140,7 @@ template runnable_args_func_ret::Type...>* WrapRunnableNMRet(R* ret, FunType f, Args&&... args) { - return new runnable_args_func_ret::Type...>(ret, f, Forward(args)...); + return new runnable_args_func_ret::Type...>(ret, f, std::forward(args)...); } template @@ -149,7 +149,7 @@ class runnable_args_memfn : public detail::runnable_args_base public: template runnable_args_memfn(Class obj, M method, Arguments&&... args) - : mObj(obj), mMethod(method), mArgs(Forward(args)...) + : mObj(obj), mMethod(method), mArgs(std::forward(args)...) {} NS_IMETHOD Run() override { @@ -167,7 +167,7 @@ template runnable_args_memfn::Type...>* WrapRunnable(Class obj, M method, Args&&... args) { - return new runnable_args_memfn::Type...>(obj, method, Forward(args)...); + return new runnable_args_memfn::Type...>(obj, method, std::forward(args)...); } template @@ -176,7 +176,7 @@ class runnable_args_memfn_ret : public detail::runnable_args_base runnable_args_memfn_ret(Ret* ret, Class obj, M method, Arguments... args) - : mReturn(ret), mObj(obj), mMethod(method), mArgs(Forward(args)...) + : mReturn(ret), mObj(obj), mMethod(method), mArgs(std::forward(args)...) {} NS_IMETHOD Run() override { @@ -195,7 +195,7 @@ template runnable_args_memfn_ret::Type...>* WrapRunnableRet(R* ret, Class obj, M method, Args&&... args) { - return new runnable_args_memfn_ret::Type...>(ret, obj, method, Forward(args)...); + return new runnable_args_memfn_ret::Type...>(ret, obj, method, std::forward(args)...); } static inline nsresult RUN_ON_THREAD(nsIEventTarget *thread, detail::runnable_args_base *runnable, uint32_t flags) { diff --git a/mfbt/Array.h b/mfbt/Array.h index 1636b0113380..051d2f706dff 100644 --- a/mfbt/Array.h +++ b/mfbt/Array.h @@ -28,7 +28,7 @@ public: template MOZ_IMPLICIT Array(Args&&... aArgs) - : mArr{mozilla::Forward(aArgs)...} + : mArr{std::forward(aArgs)...} { static_assert(sizeof...(aArgs) == Length, "The number of arguments should be equal to the template parameter Length"); diff --git a/mfbt/EnumeratedArray.h b/mfbt/EnumeratedArray.h index 292cfebb06bb..f0f71a3d79b8 100644 --- a/mfbt/EnumeratedArray.h +++ b/mfbt/EnumeratedArray.h @@ -56,7 +56,7 @@ public: template MOZ_IMPLICIT EnumeratedArray(Args&&... aArgs) - : mArray{mozilla::Forward(aArgs)...} + : mArray{std::forward(aArgs)...} {} explicit EnumeratedArray(const EnumeratedArray& aOther) diff --git a/mfbt/LinkedList.h b/mfbt/LinkedList.h index a648fa52d825..e979156a9fa8 100644 --- a/mfbt/LinkedList.h +++ b/mfbt/LinkedList.h @@ -659,7 +659,7 @@ public: AutoCleanLinkedList& operator=(AutoCleanLinkedList&& aOther) { - LinkedList::operator=(Forward>(aOther)); + LinkedList::operator=(std::forward>(aOther)); return *this; } diff --git a/mfbt/Maybe.h b/mfbt/Maybe.h index 39e1446903a9..f443b0a79117 100644 --- a/mfbt/Maybe.h +++ b/mfbt/Maybe.h @@ -327,7 +327,7 @@ public: if (isSome()) { return ref(); } - return Forward(aDefault); + return std::forward(aDefault); } /* @@ -596,7 +596,7 @@ void Maybe::emplace(Args&&... aArgs) { MOZ_DIAGNOSTIC_ASSERT(!mIsSome); - ::new (KnownNotNull, data()) T(Forward(aArgs)...); + ::new (KnownNotNull, data()) T(std::forward(aArgs)...); mIsSome = true; } @@ -617,7 +617,7 @@ Maybe Some(T&& aValue) { Maybe value; - value.emplace(Forward(aValue)); + value.emplace(std::forward(aValue)); return value; } diff --git a/mfbt/MaybeOneOf.h b/mfbt/MaybeOneOf.h index 47983082b410..7e59f1e97874 100644 --- a/mfbt/MaybeOneOf.h +++ b/mfbt/MaybeOneOf.h @@ -106,7 +106,7 @@ public: { MOZ_ASSERT(state == None); state = Type2State::result; - ::new (KnownNotNull, data()) T(Forward(aArgs)...); + ::new (KnownNotNull, data()) T(std::forward(aArgs)...); } template diff --git a/mfbt/Move.h b/mfbt/Move.h index 29b68e0f7f9c..856ab44c4a8b 100644 --- a/mfbt/Move.h +++ b/mfbt/Move.h @@ -137,7 +137,7 @@ namespace mozilla { * template like so[0]: * * template - * C::C(XArg&& x, YArg&& y) : x(Forward(x)), y(Forward(y)) { } + * C::C(XArg&& x, YArg&& y) : x(std::forward(x)), y(std::forward(y)) { } * * ("'Don't Repeat Yourself'? What's that?") * @@ -165,7 +165,7 @@ namespace mozilla { * collapses to 'Y&'. Because the arguments are declared as rvalue references * to template arguments, the lvalue-ness "shines through" where present. * - * Then, the 'Forward' function --- you must invoke 'Forward' with its type + * Then, the 'std::forward' function --- you must invoke 'Forward' with its type * argument --- returns an lvalue reference or an rvalue reference to its * argument, depending on what T is. In our unified constructor definition, that * means that we'll invoke either the copy or move constructors for x and y, @@ -194,26 +194,6 @@ namespace mozilla { * C(tmp, 0); // OK: tmp not a bit-field */ -/** - * These two overloads are identical to std::forward(); they are necessary until - * our stlport supports std::forward(). - */ -template -inline T&& -Forward(typename RemoveReference::Type& aX) -{ - return static_cast(aX); -} - -template -inline T&& -Forward(typename RemoveReference::Type&& aX) -{ - static_assert(!IsLvalueReference::value, - "misuse of Forward detected! try the other overload"); - return static_cast(aX); -} - /** Swap |aX| and |aY| using move-construction if possible. */ template inline void diff --git a/mfbt/NotNull.h b/mfbt/NotNull.h index 6eed1ed395f4..479dd2bc2518 100644 --- a/mfbt/NotNull.h +++ b/mfbt/NotNull.h @@ -200,7 +200,7 @@ MakeNotNull(Args&&... aArgs) using Pointee = typename detail::PointedTo::NonConstType; static_assert(!IsArray::value, "MakeNotNull cannot construct an array"); - return NotNull(new Pointee(Forward(aArgs)...)); + return NotNull(new Pointee(std::forward(aArgs)...)); } // Compare two NotNulls. diff --git a/mfbt/Pair.h b/mfbt/Pair.h index 7cc92a9adb23..1197f2f8894b 100644 --- a/mfbt/Pair.h +++ b/mfbt/Pair.h @@ -41,8 +41,8 @@ struct PairHelper protected: template PairHelper(AArg&& aA, BArg&& aB) - : mFirstA(Forward(aA)), - mSecondB(Forward(aB)) + : mFirstA(std::forward(aA)), + mSecondB(std::forward(aB)) {} A& first() { return mFirstA; } @@ -67,8 +67,8 @@ struct PairHelper : private B protected: template PairHelper(AArg&& aA, BArg&& aB) - : B(Forward(aB)), - mFirstA(Forward(aA)) + : B(std::forward(aB)), + mFirstA(std::forward(aA)) {} A& first() { return mFirstA; } @@ -92,8 +92,8 @@ struct PairHelper : private A protected: template PairHelper(AArg&& aA, BArg&& aB) - : A(Forward(aA)), - mSecondB(Forward(aB)) + : A(std::forward(aA)), + mSecondB(std::forward(aB)) {} A& first() { return *this; } @@ -117,8 +117,8 @@ struct PairHelper : private A, private B protected: template PairHelper(AArg&& aA, BArg&& aB) - : A(Forward(aA)), - B(Forward(aB)) + : A(std::forward(aA)), + B(std::forward(aB)) {} A& first() { return static_cast(*this); } @@ -157,7 +157,7 @@ struct Pair public: template Pair(AArg&& aA, BArg&& aB) - : Base(Forward(aA), Forward(aB)) + : Base(std::forward(aA), std::forward(aB)) {} Pair(Pair&& aOther) @@ -210,8 +210,8 @@ MakePair(A&& aA, B&& aB) return Pair::Type>::Type, typename RemoveCV::Type>::Type>( - Forward(aA), - Forward(aB)); + std::forward(aA), + std::forward(aB)); } } // namespace mozilla diff --git a/mfbt/RefPtr.h b/mfbt/RefPtr.h index fe871fe22ce1..4ba2854f1487 100644 --- a/mfbt/RefPtr.h +++ b/mfbt/RefPtr.h @@ -343,7 +343,7 @@ public: template R operator()(ActualArgs&&... aArgs) { - return ((*mRawPtr).*mFunction)(mozilla::Forward(aArgs)...); + return ((*mRawPtr).*mFunction)(std::forward(aArgs)...); } }; @@ -655,7 +655,7 @@ template already_AddRefed MakeAndAddRef(Args&&... aArgs) { - RefPtr p(new T(Forward(aArgs)...)); + RefPtr p(new T(std::forward(aArgs)...)); return p.forget(); } @@ -669,7 +669,7 @@ template RefPtr MakeRefPtr(Args&&... aArgs) { - RefPtr p(new T(Forward(aArgs)...)); + RefPtr p(new T(std::forward(aArgs)...)); return p; } diff --git a/mfbt/Result.h b/mfbt/Result.h index d5aa627ee503..ff8f00c20e9b 100644 --- a/mfbt/Result.h +++ b/mfbt/Result.h @@ -263,9 +263,9 @@ struct IsResult> : TrueType { }; template auto ToResult(Result&& aValue) - -> decltype(Forward>(aValue)) + -> decltype(std::forward>(aValue)) { - return Forward>(aValue); + return std::forward>(aValue); } /** diff --git a/mfbt/SegmentedVector.h b/mfbt/SegmentedVector.h index dd2739990840..be50f64589ac 100644 --- a/mfbt/SegmentedVector.h +++ b/mfbt/SegmentedVector.h @@ -89,7 +89,7 @@ class SegmentedVector : private AllocPolicy // Pre-increment mLength so that the bounds-check in operator[] passes. mLength++; T* elem = &(*this)[mLength - 1]; - new (elem) T(mozilla::Forward(aU)); + new (elem) T(std::forward(aU)); } void PopLast() @@ -175,7 +175,7 @@ public: new (last) Segment(); mSegments.insertBack(last); } - last->Append(mozilla::Forward(aU)); + last->Append(std::forward(aU)); return true; } @@ -184,7 +184,7 @@ public: template void InfallibleAppend(U&& aU) { - bool ok = Append(mozilla::Forward(aU)); + bool ok = Append(std::forward(aU)); MOZ_RELEASE_ASSERT(ok); } diff --git a/mfbt/Span.h b/mfbt/Span.h index 5a94ab471a73..b2102f6cede2 100644 --- a/mfbt/Span.h +++ b/mfbt/Span.h @@ -60,7 +60,7 @@ template inline constexpr T narrow_cast(U&& u) { - return static_cast(mozilla::Forward(u)); + return static_cast(std::forward(u)); } // end gsl_util diff --git a/mfbt/Tuple.h b/mfbt/Tuple.h index 268bd7010b13..d99ea5c7c415 100644 --- a/mfbt/Tuple.h +++ b/mfbt/Tuple.h @@ -139,7 +139,7 @@ struct TupleImpl Group, Group>::value>::Type> explicit TupleImpl(OtherHeadT&& aHead, OtherTailT&&... aTail) - : Base(Forward(aTail)...), mHead(Forward(aHead)) { } + : Base(std::forward(aTail)...), mHead(std::forward(aHead)) { } // Copy and move constructors. // We'd like to use '= default' to implement these, but MSVC 2013's support @@ -149,7 +149,7 @@ struct TupleImpl , mHead(Head(aOther)) {} TupleImpl(TupleImpl&& aOther) : Base(std::move(Tail(aOther))) - , mHead(Forward(Head(aOther))) {} + , mHead(std::forward(Head(aOther))) {} // Assign from a tuple whose elements are convertible to the elements // of this tuple. @@ -225,7 +225,7 @@ public: detail::Group, detail::Group>::value>::Type> explicit Tuple(OtherHead&& aHead, OtherTail&&... aTail) - : Impl(Forward(aHead), Forward(aTail)...) { } + : Impl(std::forward(aHead), std::forward(aTail)...) { } Tuple(const Tuple& aOther) : Impl(aOther) { } Tuple(Tuple&& aOther) : Impl(std::move(aOther)) { } @@ -282,17 +282,17 @@ public: detail::Group, detail::Group>::value>::Type> explicit Tuple(AArg&& aA, BArg&& aB) - : Impl(Forward(aA), Forward(aB)) { } + : Impl(std::forward(aA), std::forward(aB)) { } Tuple(const Tuple& aOther) : Impl(aOther) { } Tuple(Tuple&& aOther) : Impl(std::move(aOther)) { } explicit Tuple(const Pair& aOther) : Impl(aOther.first(), aOther.second()) { } - explicit Tuple(Pair&& aOther) : Impl(Forward(aOther.first()), - Forward(aOther.second())) { } + explicit Tuple(Pair&& aOther) : Impl(std::forward(aOther.first()), + std::forward(aOther.second())) { } explicit Tuple(const std::pair& aOther) : Impl(aOther.first, aOther.second) { } - explicit Tuple(std::pair&& aOther) : Impl(Forward(aOther.first), - Forward(aOther.second)) { } + explicit Tuple(std::pair&& aOther) : Impl(std::forward(aOther.first), + std::forward(aOther.second)) { } template Tuple& operator=(const Tuple& aOther) @@ -326,8 +326,8 @@ public: template Tuple& operator=(Pair&& aOther) { - Impl::Head(*this) = Forward(aOther.first()); - Impl::Tail(*this).Head(*this) = Forward(aOther.second()); + Impl::Head(*this) = std::forward(aOther.first()); + Impl::Tail(*this).Head(*this) = std::forward(aOther.second()); return *this; } template @@ -340,8 +340,8 @@ public: template Tuple& operator=(std::pair&& aOther) { - Impl::Head(*this) = Forward(aOther.first); - Impl::Tail(*this).Head(*this) = Forward(aOther.second); + Impl::Head(*this) = std::forward(aOther.first); + Impl::Tail(*this).Head(*this) = std::forward(aOther.second); return *this; } }; @@ -433,7 +433,7 @@ template inline Tuple::Type...> MakeTuple(Elements&&... aElements) { - return Tuple::Type...>(Forward(aElements)...); + return Tuple::Type...>(std::forward(aElements)...); } /** diff --git a/mfbt/UniquePtr.h b/mfbt/UniquePtr.h index 0a9907e8071b..769142403fb0 100644 --- a/mfbt/UniquePtr.h +++ b/mfbt/UniquePtr.h @@ -260,7 +260,7 @@ public: } UniquePtr(UniquePtr&& aOther) - : mTuple(aOther.release(), Forward(aOther.get_deleter())) + : mTuple(aOther.release(), std::forward(aOther.get_deleter())) {} MOZ_IMPLICIT @@ -281,7 +281,7 @@ public: ? IsSame::value : IsConvertible::value), int>::Type aDummy = 0) - : mTuple(aOther.release(), Forward(aOther.get_deleter())) + : mTuple(aOther.release(), std::forward(aOther.get_deleter())) { } @@ -290,7 +290,7 @@ public: UniquePtr& operator=(UniquePtr&& aOther) { reset(aOther.release()); - get_deleter() = Forward(aOther.get_deleter()); + get_deleter() = std::forward(aOther.get_deleter()); return *this; } @@ -304,7 +304,7 @@ public: "can't assign from UniquePtr holding an array"); reset(aOther.release()); - get_deleter() = Forward(aOther.get_deleter()); + get_deleter() = std::forward(aOther.get_deleter()); return *this; } @@ -429,7 +429,7 @@ public: = delete; UniquePtr(UniquePtr&& aOther) - : mTuple(aOther.release(), Forward(aOther.get_deleter())) + : mTuple(aOther.release(), std::forward(aOther.get_deleter())) {} MOZ_IMPLICIT @@ -445,7 +445,7 @@ public: UniquePtr& operator=(UniquePtr&& aOther) { reset(aOther.release()); - get_deleter() = Forward(aOther.get_deleter()); + get_deleter() = std::forward(aOther.get_deleter()); return *this; } @@ -677,7 +677,7 @@ template typename detail::UniqueSelector::SingleObject MakeUnique(Args&&... aArgs) { - return UniquePtr(new T(Forward(aArgs)...)); + return UniquePtr(new T(std::forward(aArgs)...)); } template diff --git a/mfbt/UniquePtrExtensions.h b/mfbt/UniquePtrExtensions.h index d94f33eea38d..004f313b9238 100644 --- a/mfbt/UniquePtrExtensions.h +++ b/mfbt/UniquePtrExtensions.h @@ -22,7 +22,7 @@ template typename detail::UniqueSelector::SingleObject MakeUniqueFallible(Args&&... aArgs) { - return UniquePtr(new (fallible) T(Forward(aArgs)...)); + return UniquePtr(new (fallible) T(std::forward(aArgs)...)); } template diff --git a/mfbt/Variant.h b/mfbt/Variant.h index e2c197fd0129..922ed7b14da1 100644 --- a/mfbt/Variant.h +++ b/mfbt/Variant.h @@ -279,7 +279,7 @@ struct AsVariantTemporary template explicit AsVariantTemporary(U&& aValue) - : mValue(Forward(aValue)) + : mValue(std::forward(aValue)) {} AsVariantTemporary(const AsVariantTemporary& aOther) @@ -528,7 +528,7 @@ public: { static_assert(detail::SelectVariantType::count == 1, "Variant can only be selected by type if that type is unique"); - ::new (KnownNotNull, ptr()) T(Forward(aT)); + ::new (KnownNotNull, ptr()) T(std::forward(aT)); } /** @@ -541,7 +541,7 @@ public: MOZ_IMPLICIT Variant(const VariantType&, Args&&... aTs) : tag(Impl::template tag()) { - ::new (KnownNotNull, ptr()) T(Forward(aTs)...); + ::new (KnownNotNull, ptr()) T(std::forward(aTs)...); } /** @@ -556,7 +556,7 @@ public: : tag(N) { using T = typename detail::Nth::Type; - ::new (KnownNotNull, ptr()) T(Forward(aTs)...); + ::new (KnownNotNull, ptr()) T(std::forward(aTs)...); } /** @@ -752,7 +752,7 @@ template detail::AsVariantTemporary AsVariant(T&& aValue) { - return detail::AsVariantTemporary(Forward(aValue)); + return detail::AsVariantTemporary(std::forward(aValue)); } } // namespace mozilla diff --git a/mfbt/Vector.h b/mfbt/Vector.h index bef8a8c4aa90..5df71619a5ef 100644 --- a/mfbt/Vector.h +++ b/mfbt/Vector.h @@ -63,7 +63,7 @@ struct VectorImpl MOZ_NONNULL(1) static inline void new_(T* aDst, Args&&... aArgs) { - new(KnownNotNull, aDst) T(Forward(aArgs)...); + new(KnownNotNull, aDst) T(std::forward(aArgs)...); } /* Destroys constructed objects in the range [aBegin, aEnd). */ @@ -168,7 +168,7 @@ struct VectorImpl // T(args...) will be treated like a C-style cast in the unary case and // allow unsafe conversions. Both forms should be equivalent to an // optimizing compiler. - T temp(Forward(aArgs)...); + T temp(std::forward(aArgs)...); *aDst = temp; } @@ -706,7 +706,7 @@ public: { if (!growByUninitialized(1)) return false; - Impl::new_(&back(), Forward(aArgs)...); + Impl::new_(&back(), std::forward(aArgs)...); return true; } @@ -723,7 +723,7 @@ public: */ template void infallibleAppend(U&& aU) { - internalAppend(Forward(aU)); + internalAppend(std::forward(aU)); } void infallibleAppendN(const T& aT, size_t aN) { @@ -741,7 +741,7 @@ public: void infallibleEmplaceBack(Args&&... aArgs) { infallibleGrowByUninitialized(1); - Impl::new_(&back(), Forward(aArgs)...); + Impl::new_(&back(), std::forward(aArgs)...); } void popBack(); @@ -1277,7 +1277,7 @@ Vector::internalAppend(U&& aU) { MOZ_ASSERT(mLength + 1 <= mTail.mReserved); MOZ_ASSERT(mTail.mReserved <= mTail.mCapacity); - Impl::new_(endNoCheck(), Forward(aU)); + Impl::new_(endNoCheck(), std::forward(aU)); ++mLength; } @@ -1323,7 +1323,7 @@ Vector::insert(T* aP, U&& aVal) MOZ_ASSERT(pos <= mLength); size_t oldLength = mLength; if (pos == oldLength) { - if (!append(Forward(aVal))) { + if (!append(std::forward(aVal))) { return nullptr; } } else { @@ -1334,7 +1334,7 @@ Vector::insert(T* aP, U&& aVal) for (size_t i = oldLength - 1; i > pos; --i) { (*this)[i] = std::move((*this)[i - 1]); } - (*this)[pos] = Forward(aVal); + (*this)[pos] = std::forward(aVal); } return begin() + pos; } @@ -1417,7 +1417,7 @@ Vector::append(U&& aU) mTail.mReserved = mLength + 1; } #endif - internalAppend(Forward(aU)); + internalAppend(std::forward(aU)); return true; } diff --git a/mozglue/misc/DynamicallyLinkedFunctionPtr.h b/mozglue/misc/DynamicallyLinkedFunctionPtr.h index ecfede39384b..5e1e44e19fb5 100644 --- a/mozglue/misc/DynamicallyLinkedFunctionPtr.h +++ b/mozglue/misc/DynamicallyLinkedFunctionPtr.h @@ -54,7 +54,7 @@ public: R operator()(Args... args) const { - return mFunction(mozilla::Forward(args)...); + return mFunction(std::forward(args)...); } explicit operator bool() const diff --git a/mozglue/misc/interceptor/PatcherBase.h b/mozglue/misc/interceptor/PatcherBase.h index 0f57016fd1c9..7d40f1215776 100644 --- a/mozglue/misc/interceptor/PatcherBase.h +++ b/mozglue/misc/interceptor/PatcherBase.h @@ -20,7 +20,7 @@ protected: template explicit WindowsDllPatcherBase(Args... aArgs) - : mVMPolicy(mozilla::Forward(aArgs)...) + : mVMPolicy(std::forward(aArgs)...) { } diff --git a/mozglue/misc/interceptor/PatcherDetour.h b/mozglue/misc/interceptor/PatcherDetour.h index cb9471721872..1a81597a1dae 100644 --- a/mozglue/misc/interceptor/PatcherDetour.h +++ b/mozglue/misc/interceptor/PatcherDetour.h @@ -26,7 +26,7 @@ class WindowsDllDetourPatcher final : public WindowsDllPatcherBase public: template explicit WindowsDllDetourPatcher(Args... aArgs) - : WindowsDllPatcherBase(mozilla::Forward(aArgs)...) + : WindowsDllPatcherBase(std::forward(aArgs)...) { } diff --git a/mozglue/misc/interceptor/PatcherNopSpace.h b/mozglue/misc/interceptor/PatcherNopSpace.h index 496dcdd5ea35..a246558845d5 100644 --- a/mozglue/misc/interceptor/PatcherNopSpace.h +++ b/mozglue/misc/interceptor/PatcherNopSpace.h @@ -23,7 +23,7 @@ class WindowsDllNopSpacePatcher final : public WindowsDllPatcherBase public: template explicit WindowsDllNopSpacePatcher(Args... aArgs) - : WindowsDllPatcherBase(mozilla::Forward(aArgs)...) + : WindowsDllPatcherBase(std::forward(aArgs)...) {} ~WindowsDllNopSpacePatcher() diff --git a/mozglue/misc/interceptor/VMSharingPolicies.h b/mozglue/misc/interceptor/VMSharingPolicies.h index 450c0b383b96..8ceab3be8ab5 100644 --- a/mozglue/misc/interceptor/VMSharingPolicies.h +++ b/mozglue/misc/interceptor/VMSharingPolicies.h @@ -19,7 +19,7 @@ class VMSharingPolicyUnique : public MMPolicy public: template explicit VMSharingPolicyUnique(Args... aArgs) - : MMPolicy(mozilla::Forward(aArgs)...) + : MMPolicy(std::forward(aArgs)...) , mNextChunkIndex(0) { } diff --git a/mozglue/misc/nsWindowsDllInterceptor.h b/mozglue/misc/nsWindowsDllInterceptor.h index bb2ddbce8b76..3020f795fede 100644 --- a/mozglue/misc/nsWindowsDllInterceptor.h +++ b/mozglue/misc/nsWindowsDllInterceptor.h @@ -103,9 +103,9 @@ class WindowsDllInterceptor final public: template explicit WindowsDllInterceptor(Args... aArgs) - : mDetourPatcher(mozilla::Forward(aArgs)...) + : mDetourPatcher(std::forward(aArgs)...) #if defined(_M_IX86) - , mNopSpacePatcher(mozilla::Forward(aArgs)...) + , mNopSpacePatcher(std::forward(aArgs)...) #endif // defined(_M_IX86) , mModule(nullptr) , mNHooks(0) diff --git a/security/sandbox/linux/SandboxOpenedFiles.h b/security/sandbox/linux/SandboxOpenedFiles.h index 43853b542147..b539e0ad2727 100644 --- a/security/sandbox/linux/SandboxOpenedFiles.h +++ b/security/sandbox/linux/SandboxOpenedFiles.h @@ -69,7 +69,7 @@ public: template void Add(Args&&... aArgs) { - mFiles.emplace_back(Forward(aArgs)...); + mFiles.emplace_back(std::forward(aArgs)...); } int GetDesc(const char* aPath) const; diff --git a/toolkit/components/extensions/MatchPattern.h b/toolkit/components/extensions/MatchPattern.h index 547b4bad8139..ea48e2c58da1 100644 --- a/toolkit/components/extensions/MatchPattern.h +++ b/toolkit/components/extensions/MatchPattern.h @@ -346,7 +346,7 @@ protected: private: explicit MatchPatternSet(nsISupports* aParent, ArrayType&& aPatterns) : mParent(aParent) - , mPatterns(Forward(aPatterns)) + , mPatterns(std::forward(aPatterns)) {} nsCOMPtr mParent; diff --git a/toolkit/components/url-classifier/tests/gtest/Common.cpp b/toolkit/components/url-classifier/tests/gtest/Common.cpp index f2344b08d953..e7f25e25dc5b 100644 --- a/toolkit/components/url-classifier/tests/gtest/Common.cpp +++ b/toolkit/components/url-classifier/tests/gtest/Common.cpp @@ -16,7 +16,7 @@ using namespace mozilla::safebrowsing; template void RunTestInNewThread(Function&& aFunction) { nsCOMPtr r = NS_NewRunnableFunction( - "RunTestInNewThread", mozilla::Forward(aFunction)); + "RunTestInNewThread", std::forward(aFunction)); nsCOMPtr testingThread; nsresult rv = NS_NewNamedThread("Testing Thread", getter_AddRefs(testingThread), r); diff --git a/widget/android/jni/Natives.h b/widget/android/jni/Natives.h index 054961a8e8ae..6271c7a5119b 100644 --- a/widget/android/jni/Natives.h +++ b/widget/android/jni/Natives.h @@ -519,7 +519,7 @@ struct Dispatcher { Impl::OnNativeCall(ProxyNativeCall< Impl, typename Traits::Owner, IsStatic, - HasThisArg, Args...>(Forward(args)...)); + HasThisArg, Args...>(std::forward(args)...)); } template( (HasThisArg || !IsStatic) ? thisArg : nullptr, - Forward(args)...); + std::forward(args)...); DispatchToGeckoPriorityQueue( NS_NewRunnableFunction("PriorityNativeCall", std::move(proxy))); } @@ -551,7 +551,7 @@ struct Dispatcher auto proxy = ProxyNativeCall( (HasThisArg || !IsStatic) ? thisArg : nullptr, - Forward(args)...); + std::forward(args)...); NS_DispatchToMainThread( NS_NewRunnableFunction("GeckoNativeCall", std::move(proxy))); } diff --git a/widget/android/nsAppShell.h b/widget/android/nsAppShell.h index 4b63597118b6..cb0f8c2f6fe6 100644 --- a/widget/android/nsAppShell.h +++ b/widget/android/nsAppShell.h @@ -152,7 +152,7 @@ public: typename mozilla::EnableIf::value, void>::Type SyncRunEvent(T&& lambda) { - SyncRunEvent(LambdaEvent(mozilla::Forward(lambda))); + SyncRunEvent(LambdaEvent(std::forward(lambda))); } static already_AddRefed ResolveURI(const nsCString& aUriStr); diff --git a/widget/android/nsWindow.cpp b/widget/android/nsWindow.cpp index 2b2e4f3e929e..796111ccb3e9 100644 --- a/widget/android/nsWindow.cpp +++ b/widget/android/nsWindow.cpp @@ -145,7 +145,7 @@ public: InstanceType&& aInstance) : Runnable("nsWindowEvent") , mLambda(std::move(aLambda)) - , mInstance(Forward(aInstance)) + , mInstance(std::forward(aInstance)) {} explicit WindowEvent(Lambda&& aLambda) @@ -199,7 +199,7 @@ nsWindow::NativePtr::Attach(Instance aInstance, nsWindow* aWindow, MOZ_ASSERT(!mPtr && !mImpl); Impl* const impl = new Impl( - this, aWindow, mozilla::Forward(aArgs)...); + this, aWindow, std::forward(aArgs)...); mImpl = impl; // CallAttachNative transfers ownership of impl. diff --git a/xpcom/base/nsAutoPtr.h b/xpcom/base/nsAutoPtr.h index 8a16c63fd295..866ddf13b5cd 100644 --- a/xpcom/base/nsAutoPtr.h +++ b/xpcom/base/nsAutoPtr.h @@ -216,7 +216,7 @@ public: template R operator()(ActualArgs&&... aArgs) { - return ((*mRawPtr).*mFunction)(mozilla::Forward(aArgs)...); + return ((*mRawPtr).*mFunction)(std::forward(aArgs)...); } }; diff --git a/xpcom/ds/nsClassHashtable.h b/xpcom/ds/nsClassHashtable.h index 46ccc53a5e6a..1634aee04533 100644 --- a/xpcom/ds/nsClassHashtable.h +++ b/xpcom/ds/nsClassHashtable.h @@ -90,7 +90,7 @@ nsClassHashtable::LookupOrAdd(KeyType aKey, auto count = this->Count(); typename base_type::EntryType* ent = this->PutEntry(aKey); if (count != this->Count()) { - ent->mData = new T(mozilla::Forward(aConstructionArgs)...); + ent->mData = new T(std::forward(aConstructionArgs)...); } return ent->mData; } diff --git a/xpcom/ds/nsTArray.h b/xpcom/ds/nsTArray.h index d6b9fa257f80..5fb5133b0c9c 100644 --- a/xpcom/ds/nsTArray.h +++ b/xpcom/ds/nsTArray.h @@ -538,7 +538,7 @@ public: static_assert(!mozilla::IsSame::value, "For safety, we disallow constructing nsTArray elements " "from E* pointers. See bug 960591."); - new (static_cast(aE)) E(mozilla::Forward(aArg)); + new (static_cast(aE)) E(std::forward(aArg)); } // Invoke the destructor in place. static inline void Destruct(E* aE) { aE->~E(); } @@ -1493,7 +1493,7 @@ public: const mozilla::fallible_t&) { return InsertElementAt(aIndex, - mozilla::Forward(aItem)); + std::forward(aItem)); } // Reconstruct the element at the given index, and return a pointer to the @@ -1558,7 +1558,7 @@ protected: { index_type index = IndexOfFirstElementGt(aItem, aComp); return InsertElementAt( - index, mozilla::Forward(aItem)); + index, std::forward(aItem)); } public: @@ -1568,7 +1568,7 @@ public: const mozilla::fallible_t&) { return InsertElementSorted( - mozilla::Forward(aItem), aComp); + std::forward(aItem), aComp); } // A variation on the InsertElementSorted method defined above. @@ -1578,7 +1578,7 @@ protected: { nsDefaultComparator comp; return InsertElementSorted( - mozilla::Forward(aItem), comp); + std::forward(aItem), comp); } public: @@ -1587,7 +1587,7 @@ public: elem_type* InsertElementSorted(Item&& aItem, const mozilla::fallible_t&) { return InsertElementSorted( - mozilla::Forward(aItem)); + std::forward(aItem)); } // This method appends elements to the end of this array. @@ -1676,7 +1676,7 @@ public: elem_type* AppendElement(Item&& aItem, const mozilla::fallible_t&) { - return AppendElement(mozilla::Forward(aItem)); + return AppendElement(std::forward(aItem)); } // Append new elements without copy-constructing. This is useful to avoid @@ -2236,7 +2236,7 @@ nsTArray_Impl::InsertElementAt(index_type aIndex, Item&& aItem) -> ele this->template ShiftData(aIndex, 0, 1, sizeof(elem_type), MOZ_ALIGNOF(elem_type)); elem_type* elem = Elements() + aIndex; - elem_traits::Construct(elem, mozilla::Forward(aItem)); + elem_traits::Construct(elem, std::forward(aItem)); return elem; } @@ -2290,7 +2290,7 @@ nsTArray_Impl::AppendElement(Item&& aItem) -> elem_type* return nullptr; } elem_type* elem = Elements() + Length(); - elem_traits::Construct(elem, mozilla::Forward(aItem)); + elem_traits::Construct(elem, std::forward(aItem)); this->mHdr->mLength += 1; return elem; } diff --git a/xpcom/threads/MozPromise.h b/xpcom/threads/MozPromise.h index 36b4091a15b8..5b88849bb425 100644 --- a/xpcom/threads/MozPromise.h +++ b/xpcom/threads/MozPromise.h @@ -181,7 +181,7 @@ public: { MOZ_ASSERT(IsNothing()); mValue = Storage(VariantIndex{}, - Forward(aResolveValue)); + std::forward(aResolveValue)); } template @@ -189,14 +189,14 @@ public: { MOZ_ASSERT(IsNothing()); mValue = Storage(VariantIndex{}, - Forward(aRejectValue)); + std::forward(aRejectValue)); } template static ResolveOrRejectValue MakeResolve(ResolveValueType_&& aResolveValue) { ResolveOrRejectValue val; - val.SetResolve(Forward(aResolveValue)); + val.SetResolve(std::forward(aResolveValue)); return val; } @@ -204,7 +204,7 @@ public: static ResolveOrRejectValue MakeReject(RejectValueType_&& aRejectValue) { ResolveOrRejectValue val; - val.SetReject(Forward(aRejectValue)); + val.SetReject(std::forward(aRejectValue)); return val; } @@ -265,7 +265,7 @@ public: CreateAndResolve(ResolveValueType_&& aResolveValue, const char* aResolveSite) { RefPtr p = new MozPromise::Private(aResolveSite); - p->Resolve(Forward(aResolveValue), aResolveSite); + p->Resolve(std::forward(aResolveValue), aResolveSite); return p.forget(); } @@ -274,7 +274,7 @@ public: CreateAndReject(RejectValueType_&& aRejectValue, const char* aRejectSite) { RefPtr p = new MozPromise::Private(aRejectSite); - p->Reject(Forward(aRejectValue), aRejectSite); + p->Reject(std::forward(aRejectValue), aRejectSite); return p.forget(); } @@ -517,7 +517,7 @@ protected: typename detail::MethodTrait::ReturnType>::Type InvokeMethod(ThisType* aThisVal, MethodType aMethod, ValueType&& aValue) { - return (aThisVal->*aMethod)(Forward(aValue)); + return (aThisVal->*aMethod)(std::forward(aValue)); } template @@ -541,7 +541,7 @@ protected: ValueType&& aValue, CompletionPromiseType&& aCompletionPromise) { - auto p = InvokeMethod(aThisVal, aMethod, Forward(aValue)); + auto p = InvokeMethod(aThisVal, aMethod, std::forward(aValue)); if (aCompletionPromise) { p->ChainTo(aCompletionPromise.forget(), ""); } @@ -562,7 +562,7 @@ protected: MOZ_DIAGNOSTIC_ASSERT( !aCompletionPromise, "Can't do promise chaining for a non-promise-returning method."); - InvokeMethod(aThisVal, aMethod, Forward(aValue)); + InvokeMethod(aThisVal, aMethod, std::forward(aValue)); } template @@ -937,10 +937,10 @@ protected: template auto Then(Ts&&... aArgs) - -> decltype(DeclVal().Then(Forward(aArgs)...)) + -> decltype(DeclVal().Then(std::forward(aArgs)...)) { return static_cast>(*this)->Then( - Forward(aArgs)...); + std::forward(aArgs)...); } void Track(MozPromiseRequestHolder& aRequestHolder) @@ -1115,7 +1115,7 @@ public: PROMISE_LOG("%s ignored already resolved or rejected MozPromise (%p created at %s)", aResolveSite, this, mCreationSite); return; } - mValue.SetResolve(Forward(aResolveValue)); + mValue.SetResolve(std::forward(aResolveValue)); DispatchAll(); } @@ -1129,7 +1129,7 @@ public: PROMISE_LOG("%s ignored already resolved or rejected MozPromise (%p created at %s)", aRejectSite, this, mCreationSite); return; } - mValue.SetReject(Forward(aRejectValue)); + mValue.SetReject(std::forward(aRejectValue)); DispatchAll(); } @@ -1143,7 +1143,7 @@ public: PROMISE_LOG("%s ignored already resolved or rejected MozPromise (%p created at %s)", aSite, this, mCreationSite); return; } - mValue = Forward(aValue); + mValue = std::forward(aValue); DispatchAll(); } }; @@ -1357,7 +1357,7 @@ public: MethodCall(MethodType aMethod, ThisType* aThisVal, Args&&... aArgs) : mMethod(aMethod) , mThisVal(aThisVal) - , mArgs(Forward(aArgs)...) + , mArgs(std::forward(aArgs)...) { static_assert(sizeof...(Storages) == sizeof...(Args), "Storages and Args should have equal sizes"); } @@ -1421,7 +1421,7 @@ InvokeAsyncImpl(nsISerialEventTarget* aTarget, ThisType* aThisVal, typedef detail::ProxyRunnable ProxyRunnableType; MethodCallType* methodCall = - new MethodCallType(aMethod, aThisVal, Forward(aArgs)...); + new MethodCallType(aMethod, aThisVal, std::forward(aArgs)...); RefPtr p = new (typename PromiseType::Private)(aCallerName); RefPtr r = new ProxyRunnableType(p, methodCall); aTarget->Dispatch(r.forget()); @@ -1464,7 +1464,7 @@ InvokeAsync(nsISerialEventTarget* aTarget, ThisType* aThisVal, const char* aCall "Provided Storages and ActualArgTypes should have equal sizes"); return detail::InvokeAsyncImpl( aTarget, aThisVal, aCallerName, aMethod, - Forward(aArgs)...); + std::forward(aArgs)...); } // InvokeAsync with no explicitly-specified storages, will copy arguments and @@ -1484,7 +1484,7 @@ InvokeAsync(nsISerialEventTarget* aTarget, ThisType* aThisVal, const char* aCall "Method's ArgTypes and ActualArgTypes should have equal sizes"); return detail::InvokeAsyncImpl::Type>...>( aTarget, aThisVal, aCallerName, aMethod, - Forward(aArgs)...); + std::forward(aArgs)...); } namespace detail { @@ -1499,7 +1499,7 @@ public: F&& aFunction) : CancelableRunnable("detail::ProxyFunctionRunnable") , mProxyPromise(aProxyPromise) - , mFunction(new FunctionStorage(Forward(aFunction))) + , mFunction(new FunctionStorage(std::forward(aFunction))) { } @@ -1548,7 +1548,7 @@ InvokeAsync(nsISerialEventTarget* aTarget, const char* aCallerName, typedef detail::ProxyFunctionRunnable ProxyRunnableType; auto p = MakeRefPtr(aCallerName); - auto r = MakeRefPtr(p, Forward(aFunction)); + auto r = MakeRefPtr(p, std::forward(aFunction)); aTarget->Dispatch(r.forget()); return p.forget(); } @@ -1568,7 +1568,7 @@ InvokeAsync(nsISerialEventTarget* aTarget, const char* aCallerName, "unplanned copies); Consider move()ing the object."); return detail::InvokeAsync(aTarget, aCallerName, detail::AllowInvokeAsyncFunctionLVRef(), - Forward(aFunction)); + std::forward(aFunction)); } #undef PROMISE_LOG diff --git a/xpcom/threads/nsThreadUtils.h b/xpcom/threads/nsThreadUtils.h index 1b0fc9c17704..43fe2621c2ea 100644 --- a/xpcom/threads/nsThreadUtils.h +++ b/xpcom/threads/nsThreadUtils.h @@ -543,7 +543,7 @@ public: template explicit RunnableFunction(const char* aName, F&& aFunction) : Runnable(aName) - , mFunction(Forward(aFunction)) + , mFunction(std::forward(aFunction)) { } NS_IMETHOD Run() override { @@ -657,7 +657,7 @@ NS_NewRunnableFunction(const char* aName, Function&& aFunction) // to move if possible. return do_AddRef( new mozilla::detail::RunnableFunctionImpl( - aName, mozilla::Forward(aFunction))); + aName, std::forward(aFunction))); } namespace mozilla { @@ -869,7 +869,7 @@ struct StoreCopyPassByValue typedef stored_type passed_type; stored_type m; template - MOZ_IMPLICIT StoreCopyPassByValue(A&& a) : m(mozilla::Forward(a)) {} + MOZ_IMPLICIT StoreCopyPassByValue(A&& a) : m(std::forward(a)) {} passed_type PassAsParameter() { return m; } }; template @@ -883,7 +883,7 @@ struct StoreCopyPassByConstLRef typedef const stored_type& passed_type; stored_type m; template - MOZ_IMPLICIT StoreCopyPassByConstLRef(A&& a) : m(mozilla::Forward(a)) {} + MOZ_IMPLICIT StoreCopyPassByConstLRef(A&& a) : m(std::forward(a)) {} passed_type PassAsParameter() { return m; } }; template @@ -897,7 +897,7 @@ struct StoreCopyPassByLRef typedef stored_type& passed_type; stored_type m; template - MOZ_IMPLICIT StoreCopyPassByLRef(A&& a) : m(mozilla::Forward(a)) {} + MOZ_IMPLICIT StoreCopyPassByLRef(A&& a) : m(std::forward(a)) {} passed_type PassAsParameter() { return m; } }; template @@ -911,7 +911,7 @@ struct StoreCopyPassByRRef typedef stored_type&& passed_type; stored_type m; template - MOZ_IMPLICIT StoreCopyPassByRRef(A&& a) : m(mozilla::Forward(a)) {} + MOZ_IMPLICIT StoreCopyPassByRRef(A&& a) : m(std::forward(a)) {} passed_type PassAsParameter() { return std::move(m); } }; template @@ -953,7 +953,7 @@ struct StoreRefPtrPassByPtr typedef T* passed_type; stored_type m; template - MOZ_IMPLICIT StoreRefPtrPassByPtr(A&& a) : m(mozilla::Forward(a)) {} + MOZ_IMPLICIT StoreRefPtrPassByPtr(A&& a) : m(std::forward(a)) {} passed_type PassAsParameter() { return m.get(); } }; template @@ -995,7 +995,7 @@ struct StoreCopyPassByConstPtr typedef const T* passed_type; stored_type m; template - MOZ_IMPLICIT StoreCopyPassByConstPtr(A&& a) : m(mozilla::Forward(a)) {} + MOZ_IMPLICIT StoreCopyPassByConstPtr(A&& a) : m(std::forward(a)) {} passed_type PassAsParameter() { return &m; } }; template @@ -1009,7 +1009,7 @@ struct StoreCopyPassByPtr typedef T* passed_type; stored_type m; template - MOZ_IMPLICIT StoreCopyPassByPtr(A&& a) : m(mozilla::Forward(a)) {} + MOZ_IMPLICIT StoreCopyPassByPtr(A&& a) : m(std::forward(a)) {} passed_type PassAsParameter() { return &m; } }; template @@ -1155,7 +1155,7 @@ struct RunnableMethodArguments final Tuple::Type...> mArguments; template explicit RunnableMethodArguments(As&&... aArguments) - : mArguments(Forward(aArguments)...) + : mArguments(std::forward(aArguments)...) {} template static auto @@ -1201,9 +1201,9 @@ public: explicit RunnableMethodImpl(const char* aName, ForwardedPtrType&& aObj, Method aMethod, Args&&... aArgs) : BaseType(aName) - , mReceiver(Forward(aObj)) + , mReceiver(std::forward(aObj)) , mMethod(aMethod) - , mArgs(Forward(aArgs)...) + , mArgs(std::forward(aArgs)...) { static_assert(sizeof...(Storages) == sizeof...(Args), "Storages and Args should have equal sizes"); } @@ -1413,7 +1413,7 @@ NewRunnableMethod(const char* aName, PtrType&& aPtr, Method aMethod) { return do_AddRef( new detail::OwningRunnableMethodImpl( - aName, Forward(aPtr), aMethod)); + aName, std::forward(aPtr), aMethod)); } template @@ -1422,7 +1422,7 @@ NewCancelableRunnableMethod(const char* aName, PtrType&& aPtr, Method aMethod) { return do_AddRef( new detail::CancelableRunnableMethodImpl( - aName, Forward(aPtr), aMethod)); + aName, std::forward(aPtr), aMethod)); } template @@ -1431,7 +1431,7 @@ NewIdleRunnableMethod(const char* aName, PtrType&& aPtr, Method aMethod) { return do_AddRef( new detail::IdleRunnableMethodImpl( - aName, Forward(aPtr), aMethod)); + aName, std::forward(aPtr), aMethod)); } template @@ -1442,7 +1442,7 @@ NewIdleRunnableMethodWithTimer(const char* aName, { return do_AddRef( new detail::IdleRunnableMethodWithTimerImpl( - aName, Forward(aPtr), aMethod)); + aName, std::forward(aPtr), aMethod)); } template @@ -1451,7 +1451,7 @@ NewNonOwningRunnableMethod(const char* aName, PtrType&& aPtr, Method aMethod) { return do_AddRef( new detail::NonOwningRunnableMethodImpl( - aName, Forward(aPtr), aMethod)); + aName, std::forward(aPtr), aMethod)); } template @@ -1461,7 +1461,7 @@ NewNonOwningCancelableRunnableMethod(const char* aName, PtrType&& aPtr, { return do_AddRef( new detail::NonOwningCancelableRunnableMethodImpl( - aName, Forward(aPtr), aMethod)); + aName, std::forward(aPtr), aMethod)); } template @@ -1472,7 +1472,7 @@ NewNonOwningIdleRunnableMethod(const char* aName, { return do_AddRef( new detail::NonOwningIdleRunnableMethodImpl( - aName, Forward(aPtr), aMethod)); + aName, std::forward(aPtr), aMethod)); } template @@ -1483,7 +1483,7 @@ NewNonOwningIdleRunnableMethodWithTimer(const char* aName, { return do_AddRef( new detail::NonOwningIdleRunnableMethodWithTimerImpl( - aName, Forward(aPtr), aMethod)); + aName, std::forward(aPtr), aMethod)); } // Similar to NewRunnableMethod. Call like so: @@ -1498,7 +1498,7 @@ NewRunnableMethod(const char* aName, PtrType&& aPtr, Method aMethod, Args&&... a " size should be equal to number of arguments"); return do_AddRef( new detail::OwningRunnableMethodImpl( - aName, Forward(aPtr), aMethod, mozilla::Forward(aArgs)...)); + aName, std::forward(aPtr), aMethod, std::forward(aArgs)...)); } template @@ -1510,7 +1510,7 @@ NewNonOwningRunnableMethod(const char* aName, PtrType&& aPtr, Method aMethod, " size should be equal to number of arguments"); return do_AddRef( new detail::NonOwningRunnableMethodImpl( - aName, Forward(aPtr), aMethod, mozilla::Forward(aArgs)...)); + aName, std::forward(aPtr), aMethod, std::forward(aArgs)...)); } template @@ -1522,7 +1522,7 @@ NewCancelableRunnableMethod(const char* aName, PtrType&& aPtr, Method aMethod, " size should be equal to number of arguments"); return do_AddRef( new detail::CancelableRunnableMethodImpl( - aName, Forward(aPtr), aMethod, mozilla::Forward(aArgs)...)); + aName, std::forward(aPtr), aMethod, std::forward(aArgs)...)); } template @@ -1534,7 +1534,7 @@ NewNonOwningCancelableRunnableMethod(const char* aName, PtrType&& aPtr, " size should be equal to number of arguments"); return do_AddRef( new detail::NonOwningCancelableRunnableMethodImpl( - aName, Forward(aPtr), aMethod, mozilla::Forward(aArgs)...)); + aName, std::forward(aPtr), aMethod, std::forward(aArgs)...)); } template size should be equal to number of arguments"); return do_AddRef( new detail::IdleRunnableMethodImpl( - aName, Forward(aPtr), aMethod, mozilla::Forward(aArgs)...)); + aName, std::forward(aPtr), aMethod, std::forward(aArgs)...)); } template size should be equal to number of arguments"); return do_AddRef( new detail::NonOwningIdleRunnableMethodImpl( - aName, Forward(aPtr), aMethod, mozilla::Forward(aArgs)...)); + aName, std::forward(aPtr), aMethod, std::forward(aArgs)...)); } } // namespace mozilla