Lately I started working on a BSc thesis wherein we intend to build a tool for visualizing lifetimes in Rust programs. As such visualizations were discussed in this forum before (see this thread), this might be of interest for someone. However, my thesis will focus more on the actual implementation of a tool that produces visualizations for Rust source code automatically. Previous work at our research group already yielded software that is able to extract information about lifetimes and borrows from a given piece of Rust code. It works reasonably well, but probably it could benefit from some further improvements.
In case that someone has some ideas about how to extract such information from the internals of the Rust compiler, I would be happy you could share them.
If you would like to get some more information about this project, you can download the description here.
Furthermore, I would also like to mention that I am looking for examples for testing the tool. Therefore I need code samples that contain an error related to borrowing. In case that someone comes across such an error that can be easily isolated as a (simple) stand-alone example, it would be great it you could share it with me.
Every help, input and feedback is appreciated.