Здравствуйте, VladD2, Вы писали:
VD>Как ты понимаешь даже new/delete вручную не вызывают. Их засовывают в конструкторы и деструкторы.
В С, который "ещё" вполне активно используется, пишут как раз вручную. RAII облегчает эту задачу. Раст ещё чуть больше помогает.
VD>Здесь же предлагается при разработке любой функции явн аннотировать параметры и возрващаемое значение временем жизни. Короче, плюс одна забота для программиста. В GC-языках такой проблемы нет.
Или мы друг друга не поняли или для каждой функции — не нужно. Правда я не все нюансы знаю и могу что-то путать. Но тем не менее — указывать надо только в некоторых случаях. Например, если мы на входе в функцию получаем ссылку и хотим её вернуть. Если работаем с владеющими указателями или ссылка не переживает функцию, то ничего делать не надо. Это уж точно не "для каждой функции".
VD>Я предлагаю ограничивать указатели, а не вводить явно новую сущность вроде "времени жизни".
Дык, будет новая сущность "ограниченный указатель"?