Size: a a a

2021 April 17

SP

Stanislav Popov in rust_offtopic
хз, может кодогенерит просто
источник
2021 April 18

ΑZ

Αλεχ Zhukovsky in rust_offtopic
слушай, по-моему раст вполне юзабельный. Наверное там есть I-Unsound и прочие проблемы, в ишшуях в компилятора. Но in the wild не особо попадается по-моему
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
неплохо:)
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
чет нужен норм пример, не припомню там такого
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
я верю что есть пробелма, но не встречал нигде
источник

TK

Traveller Kolsky in rust_offtopic
fake-static посмотри
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
он и назад видит
источник

AN

Alex Noname in rust_offtopic
Прикол в том что если в фейк Статик написать where то оно не компилируется уже.
источник

AN

Alex Noname in rust_offtopic
Вот на этом моменте у меня окончательно надежда понять ушла
источник

TK

Traveller Kolsky in rust_offtopic
Ну, чуть-чуть видит :)
Половина информации должна быть всегда доступна
источник

TK

Traveller Kolsky in rust_offtopic
То есть как минимум на одном из caller/callee side
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
по идее helper не должен компилиться без 'a : 'b
источник

AN

Alex Noname in rust_offtopic
Потому что я думал where там имплистит.
источник

AN

Alex Noname in rust_offtopic
Но получается фэйкисит какой то=)
источник

TK

Traveller Kolsky in rust_offtopic
Там есть implied ограничение вида '_: '_, но '_ считается абсолютно любым и не проверяется по некой абсурдной причине из-за наличия 'static
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
он неявно выводит что 'b : 'a из того что &'a &'b, но не экспортит этот факт в сигнатуру, да
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
по крайней мере мне это так видится
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
хотя перечитал функцию и перестал понимать что происходит
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
fn helper<'a, 'b, T>(_: &'a &'b (), v: &'b T) -> &'a T { v }
pub fn make_static<'a, T>(input: &'a T) -> &'static T {
   let f: fn(_, &'a T) -> &'static T = helper;
   f(&&(), input)
}
источник

ΑZ

Αλεχ Zhukovsky in rust_offtopic
у нас есть &&()
источник