Explicitly restrict NRVO optimization to "out" args.
Explicitly restrict NRVO optimization to "out" args.

Don't allow this optimization to kick in for "inout" args.
The optimization may expose local writes to any aliases of the argument.
I can't prove that is memory safe.

Erik pointed out this case.

danielmartin/swift,gregomni/swift,gmilos/swift,lorentey/swift,brentdax/swift,djwbrown/swift,slavapestov/swift,dreamsxin/swift,lorentey/swift,slavapestov/swift,gribozavr/swift,nathawes/swift,kperryua/swift,JGiola/swift,practicalswift/swift,jckarter/swift,hughbe/swift,frootloops/swift,zisko/swift,shajrawi/swift,JaSpa/swift,JaSpa/swift,kstaring/swift,practicalswift/swift,ahoppen/swift,deyton/swift,russbishop/swift,shahmishal/swift,djwbrown/swift,stephentyrone/swift,ken0nek/swift,natecook1000/swift,natecook1000/swift,johnno1962d/swift,zisko/swift,airspeedswift/swift,brentdax/swift,slavapestov/swift,johnno1962d/swift,KrishMunot/swift,JGiola/swift,tkremenek/swift,kstaring/swift,johnno1962d/swift,slavapestov/swift,gribozavr/swift,atrick/swift,karwa/swift,dduan/swift,karwa/swift,djwbrown/swift,bitjammer/swift,jtbandes/swift,huonw/swift,deyton/swift,adrfer/swift,brentdax/swift,tjw/swift,hughbe/swift,tkremenek/swift,tardieu/swift,alblue/swift,aschwaighofer/swift,atrick/swift,jmgc/swift,KrishMunot/swift,kperryua/swift,KrishMunot/swift,arvedviehweger/swift,therealbnut/swift,natecook1000/swift,aschwaighofer/swift,benlangmuir/swift,xwu/swift,roambotics/swift,ken0nek/swift,ahoppen/swift,amraboelela/swift,adrfer/swift,natecook1000/swift,ben-ng/swift,brentdax/swift,atrick/swift,shahmishal/swift,JaSpa/swift,jmgc/swift,gribozavr/swift,OscarSwanros/swift,jopamer/swift,airspeedswift/swift,austinzheng/swift,apple/swift,uasys/swift,glessard/swift,lorentey/swift,manavgabhawala/swift,JGiola/swift,felix91gr/swift,shahmishal/swift,manavgabhawala/swift,parkera/swift,amraboelela/swift,ahoppen/swift,djwbrown/swift,harlanhaskins/swift,ben-ng/swift,atrick/swift,milseman/swift,milseman/swift,Jnosh/swift,apple/swift,parkera/swift,milseman/swift,arvedviehweger/swift,jckarter/swift,shahmishal/swift,sschiau/swift,dduan/swift,kperryua/swift,JaSpa/swift,kstaring/swift,hooman/swift,frootloops/swift,xedin/swift,jckarter/swift,felix91gr/swift,airspeedswift/swift,swiftix/swift,roambotics/swift,huonw/swift,tjw/swift,brentdax/swift,codestergit/swift,devincoughlin/swift,rudkx/swift,sschiau/swift,lorentey/swift,devincoughlin/swift,stephentyrone/swift,gottesmm/swift,danielmartin/swift,bitjammer/swift,shajrawi/swift,CodaFi/swift,practicalswift/swift,kstaring/swift,therealbnut/swift,jckarter/swift,danielmartin/swift,karwa/swift,allevato/swift,JGiola/swift,milseman/swift,therealbnut/swift,calebd/swift,frootloops/swift,brentdax/swift,calebd/swift,uasys/swift,xedin/swift,lorentey/swift,kperryua/swift,devincoughlin/swift,amraboelela/swift,kstaring/swift,gribozavr/swift,alblue/swift,deyton/swift,CodaFi/swift,bitjammer/swift,aschwaighofer/swift,roambotics/swift,jopamer/swift,harlanhaskins/swift,lorentey/swift,gribozavr/swift,deyton/swift,danielmartin/swift,devincoughlin/swift,shajrawi/swift,OscarSwanros/swift,karwa/swift,ben-ng/swift,kperryua/swift,alblue/swift,modocache/swift,gregomni/swift,zisko/swift,modocache/swift,nathawes/swift,KrishMunot/swift,gregomni/swift,gmilos/swift,therealbnut/swift,nathawes/swift,johnno1962d/swift,karwa/swift,glessard/swift,sschiau/swift,atrick/swift,jckarter/swift,danielmartin/swift,stephentyrone/swift,hooman/swift,harlanhaskins/swift,benlangmuir/swift,return/swift,hooman/swift,sschiau/swift,tjw/swift,calebd/swift,IngmarStein/swift,djwbrown/swift,bitjammer/swift,dduan/swift,russbishop/swift,amraboelela/swift,adrfer/swift,jckarter/swift,OscarSwanros/swift,ken0nek/swift,arvedviehweger/swift,dduan/swift,manavgabhawala/swift,ken0nek/swift,russbishop/swift,tkremenek/swift,allevato/swift,jtbandes/swift,codestergit/swift,apple/swift,gottesmm/swift,glessard/swift,CodaFi/swift,bitjammer/swift,zisko/swift,karwa/swift,shajrawi/swift,harlanhaskins/swift,hooman/swift,nathawes/swift,calebd/swift,devincoughlin/swift,adrfer/swift,jopamer/swift,nathawes/swift,modocache/swift,swiftix/swift,devincoughlin/swift,danielmartin/swift,slavapestov/swift,allevato/swift,gribozavr/swift,huonw/swift,OscarSwanros/swift,IngmarStein/swift,jtbandes/swift,parkera/swift,lorentey/swift,arvedviehweger/swift,jtbandes/swift,jtbandes/swift,IngmarStein/swift,tardieu/swift,glessard/swift,codestergit/swift,aschwaighofer/swift,jmgc/swift,codestergit/swift,tinysun212/swift-windows,shahmishal/swift,allevato/swift,Jnosh/swift,jopamer/swift,djwbrown/swift,xwu/swift,ben-ng/swift,rudkx/swift,karwa/swift,swiftix/swift,ben-ng/swift,harlanhaskins/swift,IngmarStein/swift,KrishMunot/swift,benlangmuir/swift,jmgc/swift,nathawes/swift,hughbe/swift,manavgabhawala/swift,tkremenek/swift,JaSpa/swift,adrfer/swift,return/swift,KrishMunot/swift,sschiau/swift,tinysun212/swift-windows,roambotics/swift,dduan/swift,bitjammer/swift,parkera/swift,ken0nek/swift,tardieu/swift,tjw/swift,alblue/swift,Jnosh/swift,Jnosh/swift,djwbrown/swift,dduan/swift,hooman/swift,shajrawi/swift,CodaFi/swift,Jnosh/swift,deyton/swift,austinzheng/swift,kperryua/swift,SwiftAndroid/swift,JaSpa/swift,SwiftAndroid/swift,SwiftAndroid/swift,ahoppen/swift,felix91gr/swift,russbishop/swift,arvedviehweger/swift,zisko/swift,SwiftAndroid/swift,tardieu/swift,hughbe/swift,austinzheng/swift,practicalswift/swift,milseman/swift,tinysun212/swift-windows,return/swift,ken0nek/swift,jopamer/swift,gregomni/swift,swiftix/swift,therealbnut/swift,JGiola/swift,shahmishal/swift,uasys/swift,deyton/swift,jopamer/swift,codestergit/swift,gottesmm/swift,swiftix/swift,therealbnut/swift,modocache/swift,parkera/swift,shajrawi/swift,glessard/swift,dduan/swift,tardieu/swift,devincoughlin/swift,return/swift,felix91gr/swift,huonw/swift,calebd/swift,karwa/swift,amraboelela/swift,codestergit/swift,xedin/swift,tkremenek/swift,danielmartin/swift,rudkx/swift,atrick/swift,ahoppen/swift,modocache/swift,arvedviehweger/swift,gottesmm/swift,jmgc/swift,ken0nek/swift,modocache/swift,tinysun212/swift-windows,gottesmm/swift,tjw/swift,hooman/swift,johnno1962d/swift,zisko/swift,airspeedswift/swift,frootloops/swift,Jnosh/swift,therealbnut/swift,amraboelela/swift,uasys/swift,codestergit/swift,rudkx/swift,manavgabhawala/swift,sschiau/swift,stephentyrone/swift,austinzheng/swift,shajrawi/swift,jopamer/swift,IngmarStein/swift,JaSpa/swift,huonw/swift,roambotics/swift,bitjammer/swift,alblue/swift,rudkx/swift,uasys/swift,russbishop/swift,SwiftAndroid/swift,ben-ng/swift,hughbe/swift,arvedviehweger/swift,xedin/swift,roambotics/swift,kstaring/swift,natecook1000/swift,OscarSwanros/swift,tjw/swift,OscarSwanros/swift,manavgabhawala/swift,felix91gr/swift,CodaFi/swift,zisko/swift,gottesmm/swift,practicalswift/swift,gmilos/swift,benlangmuir/swift,swiftix/swift,IngmarStein/swift,calebd/swift,frootloops/swift,deyton/swift,adrfer/swift,frootloops/swift,shahmishal/swift,xwu/swift,tardieu/swift,huonw/swift,manavgabhawala/swift,jmgc/swift,gribozavr/swift,hooman/swift,devincoughlin/swift,alblue/swift,stephentyrone/swift,felix91gr/swift,benlangmuir/swift,airspeedswift/swift,johnno1962d/swift,modocache/swift,slavapestov/swift,kperryua/swift,sschiau/swift,return/swift,tardieu/swift,adrfer/swift,xedin/swift,austinzheng/swift,xwu/swift,slavapestov/swift,ben-ng/swift,SwiftAndroid/swift,glessard/swift,russbishop/swift,hughbe/swift,russbishop/swift,practicalswift/swift,jtbandes/swift,xwu/swift,amraboelela/swift,parkera/swift,xedin/swift,apple/swift,xwu/swift,tjw/swift,gmilos/swift,parkera/swift,lorentey/swift,sschiau/swift,gribozavr/swift,johnno1962d/swift,felix91gr/swift,allevato/swift,stephentyrone/swift,shajrawi/swift,harlanhaskins/swift,jckarter/swift,dreamsxin/swift,parkera/swift,airspeedswift/swift,allevato/swift,gmilos/swift,stephentyrone/swift,nathawes/swift,frootloops/swift,benlangmuir/swift,aschwaighofer/swift,jtbandes/swift,tinysun212/swift-windows,aschwaighofer/swift,rudkx/swift,return/swift,KrishMunot/swift,allevato/swift,apple/swift,practicalswift/swift,uasys/swift,tkremenek/swift,SwiftAndroid/swift,gottesmm/swift,Jnosh/swift,airspeedswift/swift,jmgc/swift,uasys/swift,brentdax/swift,shahmishal/swift,return/swift,gregomni/swift,harlanhaskins/swift,IngmarStein/swift,austinzheng/swift,apple/swift,milseman/swift,huonw/swift,JGiola/swift,calebd/swift,tinysun212/swift-windows,natecook1000/swift,kstaring/swift,swiftix/swift,xwu/swift,ahoppen/swift,natecook1000/swift,tkremenek/swift,austinzheng/swift,gregomni/swift,gmilos/swift,gmilos/swift,aschwaighofer/swift,CodaFi/swift,milseman/swift,alblue/swift,practicalswift/swift,hughbe/swift,xedin/swift,CodaFi/swift,tinysun212/swift-windows,xedin/swift,OscarSwanros/swift