What about convert to AST then ask the AI to convert to Rust. Would that work?
ASTs also don’t have much info on threading (that’s more or less limited to “the program starts a thread with entry point foo at some time”, “Foo waits for another thread to finish”)
ASTs also generally don't actually have magical information in them. They won't solve the lifetime issues for you.