Commits

Michael Gottesman committed 8361ba44a9b
Revert "Revert "[+0 self] Teach SILGen how to avoid emitting extra rr pairs when emitting RValues with Nominal Types and Tuples."" This reapplies commit r27632 with additional fixes, tests. I turned off the guaranteed struct optimization since we really don't have the infrastructure to do it right and more importantly I don't have the time to do so (and was not asked to do so). We still have the class optimization though! This means that there is one retain in ClassIntTreeMethod.find. class ClassIntTreeNode { let value : Int let left, right : ClassIntTreeNode init() {} func find(v : Int) -> ClassIntTreeNode { if v == value { return self } if v < value { return left.find(v) } return right.find(v) } } Swift SVN r28264