Size: a a a

2020 August 07

Ct

Casual tears in rust_offtopic
Либо табличка, либо пихать в TypeId сразу &'static str, что по сути аналогично табличке.
источник

KR

Kai Ren in rust_offtopic
Есть такой стандартное заблуждение, что кажется, что если ты можешь получить TypeId, то и протащить всю информацию о типе "невидимо" в рантайм и там дальше удобно апкастить, даункастить. и выводить любую инфу о типе, как если бы тип у тебя на руках. Но нет - TypeId - это просто значение и тип там затёрт.

Сам много раз ловил себя на этом.
источник

T1

Tony 123 in rust_offtopic
так, я тут
источник

T1

Tony 123 in rust_offtopic
не, я не совсем это имел ввиду
источник

T1

Tony 123 in rust_offtopic
я наверное неправильно высказался, но короче я говорю то что на уровне компиляции мы знаем и TypeId и имя типа
источник

KR

Kai Ren in rust_offtopic
Это так, да. Но чтобы дать это использовать юзеру в рантайме, тебе в рантайм нужно будет где-то положить табличку соответствий.
источник

T1

Tony 123 in rust_offtopic
Kai Ren
Это так, да. Но чтобы дать это использовать юзеру в рантайме, тебе в рантайм нужно будет где-то положить табличку соответствий.
не в рантайме, мне в компайлтайме нужно)
источник

T1

Tony 123 in rust_offtopic
а в рантайме юзать полученные значения естественно
источник

T1

Tony 123 in rust_offtopic
Kai Ren
Это так, да. Но чтобы дать это использовать юзеру в рантайме, тебе в рантайм нужно будет где-то положить табличку соответствий.
а так это, это верно
источник

AZ

Alex Zhukovsky in rust_offtopic
Kai Ren
Есть такой стандартное заблуждение, что кажется, что если ты можешь получить TypeId, то и протащить всю информацию о типе "невидимо" в рантайм и там дальше удобно апкастить, даункастить. и выводить любую инфу о типе, как если бы тип у тебя на руках. Но нет - TypeId - это просто значение и тип там затёрт.

Сам много раз ловил себя на этом.
так Any и downcast_ref разве не за этим заделаны?
источник

KR

Kai Ren in rust_offtopic
Alex Zhukovsky
так Any и downcast_ref разве не за этим заделаны?
За этим. Но для downcast тебе нужно знать конкретный тип статически. Просто зная только TypeId ты не задаункастишь. Я про это.
источник

AZ

Alex Zhukovsky in rust_offtopic
Kai Ren
За этим. Но для downcast тебе нужно знать конкретный тип статически. Просто зная только TypeId ты не задаункастишь. Я про это.
а как иначе? Ты же должен знат ьчто ты в этом месте хочешь
источник

KR

Kai Ren in rust_offtopic
Tony 123
не в рантайме, мне в компайлтайме нужно)
В const fn что ли?
источник

AZ

Alex Zhukovsky in rust_offtopic
в смысле это покрывает все кейсы которые я могу придумать
источник

KR

Kai Ren in rust_offtopic
Alex Zhukovsky
а как иначе? Ты же должен знат ьчто ты в этом месте хочешь
Потому и говорю, что заблуждение
источник

BD

Berkus Decker in rust_offtopic
Alexander Zaitsev
ну да. я в отличие от Полунина, умею себя вежливо вести
что полунин забыл в растомейне?
источник

(L

(((Mike Lubinets))) in rust_offtopic
Tony 123
не в рантайме, мне в компайлтайме нужно)
В компилтайме же есть std::any::type_name
источник

T1

Tony 123 in rust_offtopic
(((Mike Lubinets)))
В компилтайме же есть std::any::type_name
я потом это и скинул)
источник

BD

Berkus Decker in rust_offtopic
polunin.ai
А я не идиот (не верующий)
так, я вот щас как человек верующий начну на тебя жаловаться
источник

p

polunin.ai in rust_offtopic
Berkus Decker
так, я вот щас как человек верующий начну на тебя жаловаться
Жалуйся
источник