История изменений
Исправление Manhunt, (текущая версия) :
struct Example<'a, 'b: 'a, T: 'a, P: 'b>(&'a Box<Fn(T) + 'b>, &'a &'b P);
Давай так попробуем:
template <scope a, scope b, type T, type P>
where @b outlives @a
struct Example(ref@a Box<Fn(T@a)@b>, ref@a ref@b P);
Хм. В любом случае, выглядит безобразно...
Исправление Manhunt, :
struct Example<'a, 'b: 'a, T: 'a, P: 'b>(&'a Box<Fn(T) + 'b>, &'a &'b P);
Давай так попробуем:
template <scope a, scope b, type T, type P>
where @b outlives @a
struct Example(ref@a Box<Fn(T@a)@b>, ref@a ref@b P);
В любом случае, выглядит безобразно...
Исходная версия Manhunt, :
struct Example<'a, 'b: 'a, T: 'a, P: 'b>(&'a Box<Fn(T) + 'b>, &'a &'b P);
Давай так попробуем:
template <scope a, scope b, type T, type P>
where @b outlives @a
struct Example(ref@a Box<Fn(T@a)@b>, ref@a ref@b P);