Что значит запись trait GenericTrait<'a>: 'a {}? (Конкретно интересует часть

: 'a)

16 ответов

8 просмотров

Все трейты, которые ты создаёшь, по умолчанию это Т: 'static. Здесь Т<'a>: 'a

megahomyak- Автор вопроса

я знаю, что такое дженерики и что такое лайфтаймы, но что здесь значит лайфтайм для GenericTrait - я не понимал

megahomyak
я знаю, что такое дженерики и что такое лайфтаймы,...

Что значение, реализующее этот тип, должно жить так долго, как заданный местом вызова лайфтайм

megahomyak- Автор вопроса
mental stability🥺✨
Все трейты, которые ты создаёшь, по умолчанию это ...

то есть, как я понимаю, тут: ввели лайфтайм 'а использовали 'а, чтобы ограничить GenericTrait, но т.к. 'a нигде не используется, то, по сути, шо с ним, шо со статиком, и если я создам где-то значение типа, реализующего GenericTrait, то я могу его использовать столько же, сколько объект того же самого трейта, но со статиком?

megahomyak
то есть, как я понимаю, тут: ввели лайфтайм 'а ис...

Раст будет ругаться, если ты его не используешь. Но вообще лайфтайм, объявленный рядом с самим трейтом, привязывается к нему

megahomyak
то есть, как я понимаю, тут: ввели лайфтайм 'а ис...

Ошибаешься 'static подмножество 'a, запись GenericTrait: 'static совершенно неравноценна той выше

'static же надмножество, так как позволяет жить дольше?

megahomyak- Автор вопроса
Traveller Kolsky
Ошибаешься 'static подмножество 'a, запись Generic...

но если тут 'a указана как время жизни объекта трейта, то разве будут какие-то ограничения по сравнению со статиком?

megahomyak
но если тут 'a указана как время жизни объекта тре...

impl<'a> GenericTrait<'a> for &'a Foo impl<'a> GenericTrait for &'a Foo // не катит!

Алиса Королёва
'static «наследует» 'a в контексте вариантности

Но ведь 'а наследует? Даже синтаксис есть такой: 'а: 'static

megahomyak- Автор вопроса
megahomyak
а в каком случае могут быть?

'a означает, что объект живёт время жизни а. Оно может быть равным статику, а может быть меньше. Больше ничего быть не может, так как подразумевается, что статик объекты могут (это важно, что могут, но не обязаны) жить вечно.

Алиса Королёва
screenshot https://doc.rust-lang.org/nomicon/subtyping.html

Синтаксически да ('a: 'b - a живёт минимум b, но может и дольше). Но я объяснял в другом контексте)

Похожие вопросы

Обсуждают сегодня

всем привет. я правильно понимаю, что в телеграфе 4, если сессию указать у сообщения с коллбеком (кликнул на кнопку и установил сессию), то она не сохраняется?
Тимур
1
Ребята, я за проф советом😅 По микросервисам. В монолите есть общие файлы для сервисов: фетчи, конфиги, либы, утилсы.. как при распиле правильно их поддерживать? Пока вариант д...
Александр Тарасюк
1
а что делать если тебя убивают на картах?
Yarik yarik kyda ti lezesh
43
Подскажите где можно прочитать про реализацию возможности писать человеку при подписке на телеграм канал от имени бота? Было бы не плохо если для Telegraf@3.38.0
Pan Lipton
10
Мне вот что интересно, кто на рфе стартовал/играл, что вы фармили, в каком виде контента он прямо хорош? Экспедиция? Вроде прямо на замазанных мапах рф сдувается
Владислав
20
‌/r/pathofexile moderation changes top scoring links : pathofexile (RSS) Hi, everyone. On behalf of the subreddit mod team, I’m here to give you a few updates on the subreddi...
Esionru
3
Кто нибудь поясните это всё таки вброс или да? Про санктум слышал на поедб вбросили, а по дурке откуда инфа и на сколько это вообще правда? Пахнет шизофренией какой-то ✅Divi...
Dmitry Ritter
9
У вас бывает ощущение, что хочется потратить весь отпуск на то, чтоб только спать?
Николай
15
У меня вопрос к знающими, стоит ли вступать в гильдии в игре или лучше полная свобода?
Енот Полоскун
17
Как можно настроить фильтр в пое под себя?
Yarik yarik kyda ti lezesh
15
Карта сайта