Да там в иссью много написали. Но у меня уже пар с ушей то все читать. Кароче когда мы присваиваем одной функции другую то тот факт что where баунды есть не участвует в проверки варианса
Короче, я проверил, и система типов усиленно не даёт возможность написать некомпилирующийся код: везде, где ожидается обобщённый параметр 'a, подойдёт 'static, и нет явной конструкции, которая могла бы сказать "дай мне лайфтайм на подольше"
Бля. Очередная позорная штука. Я понимаю обделаться в каких то не тривиальных ансейф моментов, где надо попытаться моделировать реальный мир через абстракции. Но не смочь задизайнить свою же систему типов которая уже абстрактная по определению. Это жирный минус им в карму.