у меня есть структура с полями first и follow(HashMap<&'a str, HashSet<&'a Term>>). Одним из вариантов является продукция A -> aB при которой нужно к FOLLOW(B) добавить FOLLOW(A).
Я хочу взять self.follow.get_mut(B).unwrap() и сделать .extend(self.follow.get(A).unwrap()) но естественно возникает проблема, что cannot borrow as immutable, because it is also borrowed as mutable. Что лучше всего я могу сделать и можно ли впринципе сдесь обойтись без клонирования?
Скинь просто код. Посмотрим. Так будет быстрее. Только код рабочий и короткий
Так в том то и проблема что он не рабочий, пока я не придумал как это сделать без клонирования. Могу набросать игрушечный пример в плейграунде, если это необходимо
В смысле код который теоретически должен работать. Со всеми нужными структурами. А не так чтобы черт знает какая структура
Во, работает https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=3fadfa55be9313c5da3471fcea63b187
То есть кидай как есть, только выкинь лишнее
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=cbeb4ac7880da90ff1425a366bf79e34 Вот, постарался убрать лишнее
https://play.rust-lang.org/?version=nightly&mode=debug&edition=2021&gist=5730910cae6c13065f0d8afc03b33829 так?
Обсуждают сегодня