[1,1,2,3,3]
будет вызываться memcmp, или они поэлементно будут сравниваться?
T: Copy еще ничего не говорит об устройстве оператора сравнения. Массивы всегда сравниваются поэлементно.
Вот только это растовый оптимизатор умный или LLVM?
Не знаю, но эта оптимизация проверяется тестом https://github.com/rust-lang/rust/blob/master/src/test/codegen/array-equality.rs
Разве у компилятора раста есть этап который выполняет оптимизации хоть сколько-то близкие к llvm? Я думал что в нем есть только lowering, desugaring и прочее, а продвинутые оптимизации чисто на llvm
Ну вот эта оптимизация, например, вообще на уровне библиотеки оказалась.
Обсуждают сегодня