#1521: Piraha smart_ptr can't handle self assignment ----------------------+----------------------------------------------------- Reporter: eschnett | Owner: Type: defect | Status: new Priority: major | Milestone: Component: Cactus | Version: development version Keywords: | ----------------------+----------------------------------------------------- An assignment of the form {{{ void foo(smart_ptr<T> x) { x = x; } }}} will not work, since operator= assumes that LHS and RHS are different objects. The usual remedy is to add an if statement, doing nothing for self assignment.