- 
    
Task
 - 
    Resolution: Unresolved
 - 
    
P3: Somewhat important
 - 
    None
 - 
    6.10.0 Beta4
 - 
    None
 
- 
        3
 - 
        Foundation Sprint 138, Foundation Sprint 139, Foundation Sprint 140, Foundation Sprint 141, Foundation Sprint 142
 
The Q*Matcher classes have user-defined copy Special Member Functions (SMFs) and a user-defined destructor, which disables the implicit generation of move SMFs. These types are therefore not movable, in particular, they're not nothrow_move_{constructible,assignable}, so they perform more poorly than they could in many situations, such as returning from functions and reallocation of containers.
Add move SMFs, possibly member-swap and free swap functions (by using Q_DECLARE_SHARED, if that's BC these days).
Acceptance criteria:
- All Q*Matcher  classes have
	
- an inline noexcept move constructor
 - an inline noexcept move-assignment operator
		
- just swaps, not move-and-swap
 
 - an inline noexcept member-swap, if possible
 - are marked as Q_DECLARE_SHARED, if possible
		
- adding Q_D_S after release used to be BiC in Qt 5, check the situation in Qt 6, add Q_DECLARE_SHARED_NOT_RELOCATABLE_UNTIL_QT7 if Q_D_S is still a problem
 
 
 
- resulted from
 - 
                    
QTBUG-135195 Review qtbase/src/corelib/text
-         
 - Closed
 
 -