История изменений
Исправление Siborgium, (текущая версия) :
Прикинь, можно вот этого всего не делать и просто в цикле 1..5 назначить 5.
Вы же понимаете, что это игрушечный пример, так?
ок, фича возможна
то все разваливается и нужно городить еще более сложный компилятор.
Ну конечно разваливается, потому что это говно примитивное. Все индексы известны в компайл-тайме, он не может посчитать, что куда обращаться будет. И для рантайма можно было бы посчитать, это не рокет сайнс, а довольно простой проход оптимизации. Только вот оптимизацию за rustc делает ллвм, а сами они подобный анализ не осилили. Уже и на polonius мигрировали, а все еще не осилили. Жаль.
Исходная версия Siborgium, :
Прикинь, можно вот этого всего не делать и просто в цикле 1..5 назначить 5.
Вы же понимаете, что это игрушечный пример, так?
ок, фича возможна
то все разваливается и нужно городить еще более сложный компилятор.
Ну конечно разваливается, потому что это говно примитивное. Все индексы известны в компайл-тайме, он не может посчитать, что куда обращаться будет. И для рантайма можно было бы посчитать, это не рокет сайнс, а довольно простой проход оптимизации. Только вот оптимизацию за rustc делает ллвм, а сами они подобный анализ не осилили. Уже и на polonius мигрировали, а все еще не работает.