Make solutions to the constraint system independent of their parent.
Make solutions to the constraint system independent of their parent.

Once we've done this, we can 'hollow out' the parent by removing all
of its internal data structures once all of its children have been
visited. There is a modest memory win here, but mostly the win is
architectural: this is a step toward making some of these data
structures ephemeral.



Swift SVN r3120

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