_S1: [i32; 3] = [1, 2, 3];
const _C1: &'static [i32; 3] = &_S1; // <- error[E0013]: constants cannot refer to statics
const _C2: &'static [i32; 3] = &[1, 2, 3];
Const буквально копипастится в каждое место использования
забавно, но компилятор предлагает rustc --explain E0013, который не объясняет причину. Просто рисует проблему и предлагает фикс.
во время констэвала статиков ещё нет, вероятно. плюс тут возникают вопросы про interior mutability.
Потому что компилятор тупой
Можно сделать просто отдельную невидимую константу, присваивать её в статик, и ссылаться на неё вместо статика
можно, но тогда изменения в интериор мутабл не будут видны в рантайме, что потенциально сюрпрайзинг
почему тупой? Не вижу тут нужной семантики
Обсуждают сегодня