It’s been a long journey with the “add method” (now called insert), and it’s still not over. My pull request for the original implementation of insert was finally accepted, but now it’s time to improve upon it. There was some backlash while I was trying to get my pull request to go through. Some developers took issue with the idea of a first attempt that uses clone for support, so I decided to take the time to improve the current implementation rather than add new features, but it has not been easy. I talked with my mentor about the problems I was having and he told me that my project was pushing the bounds of what is currently possible in Rust–that’s a great feeling! I’m glad to be working on such a challenging problem, and I’m also glad that when I have questions, sometimes they even manage to stump my mentor.
The next attempt on the insert method will use named lifetime pointers, which are an interesting and uncommon feature of a programming language. Once I understand them a little better, I will share my knowledge and post an explanation of named lifetime pointers.
Time to experiment with named lifetimes! Expect another update soon.