ran into some trouble with this because the destructor for the LHS was called after the assignment, so it assigned properly and then proceeded to delete itself.
reading the rules for assignments in my compiler documentation, it connotes that copying classes by value does not conform with its rules for non-arithmetic assignment operators.
is this generally true? does one generally have to overload the assignment operator to copy classes by value?