
Size: a a a
#[derive(PartialEq, Debug)]
struct A;
impl Drop for A {
fn drop(&mut self) {
println!("Dropping A");
}
}
fn main() {
let vec: Vec<A> = vec![];
let a = A;
assert_eq!(vec, [a; 0]);
}
a
, напечатав Dropping A
. Так вот, этого не происходит, инициализатор массива нулевой длины попросту утекает. Да, это баг. Да, это регрессия между стабильными версиями.min_const_generics
! 🎉#[]
и ..=
нельзя загуглить, из-за чего якобы сложнее понять код. Раньше у меня на это был ответ, что человек, который действительно хочет изучить язык, читает один раз растбук и всё понимает, в крайнем случае сверяясь по мере необходимости с Appendix B: Operators and symbols, а те, кто так говорят — либо позёры/хейтеры, которые и не собираются изучать Rust, или просто ленивые жо ягодицы (есть ещё вариант, что этот человек — мужчина по имени Никита, обожающий Clojure, но это совсем особый случай).Finished release [optimized] target(s) in 12.59s