просто получения имени файла и строки? Чот я подумал, что в асинках всё равно не бектрейс а фигня получится.
line!() file!()
В асинках вроде даже сравнительно адекватные бектрейсы были, кажется
https://doc.rust-lang.org/stable/std/panic/struct.Location.html#method.caller Вот ещё
я думал над этим. номер строки в общем случае работать не будет т.к. часто он захватит просто конструктор. есть идея получше - заставить компилятор расставить во всех местах откуда кидаются эрроры уникальные варианты энамов, и потом их собирать, но это слишком. а вообще именно для асинков можно собирать трейсы из кусков. трейс подразумевает вобщем то что его крутят-вертят, вырешают лишнее и тд. если упороться можно трекать какие куски трейсов у футур отвечают именно за нужный колстек, и склеивать. питонячие асинк трейсы насколько я понимаю именно так и делают
Если макросом ошибки создавать, то норм должно быть, не конструктор будет.
даа, но любой нестинг теряет цепочку
https://github.com/zkat/miette#-multiple-related-errors
Обсуждают сегодня