LINUX.ORG.RU

История изменений

Исправление zurg, (текущая версия) :

@Camel

    let boom = fake_static::make_static(&vec![0; 1<<20]);
    println!("{:?}", boom);
8 | pub fn make_static<'a, T>(input: &'a T) -> &'static T {
  |                    -- lifetime `'a` defined here
9 |     let f: fn(_, &'a T) -> &'static T = helper;
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'a` must outlive `'static`

error: could not compile `fake-static` (lib) due to 1 previous error

починили, там же новый трейт-солвер реализовали, который и этот баг исправлял, похоже, стабилизировали

Исправление zurg, :

    let boom = fake_static::make_static(&vec![0; 1<<20]);
    println!("{:?}", boom);
8 | pub fn make_static<'a, T>(input: &'a T) -> &'static T {
  |                    -- lifetime `'a` defined here
9 |     let f: fn(_, &'a T) -> &'static T = helper;
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'a` must outlive `'static`

error: could not compile `fake-static` (lib) due to 1 previous error

починили, там же новый трейт-солвер реализовали, который и этот баг исправлял, похоже, стабилизировали

Исправление zurg, :

    let boom = fake_static::make_static(&vec![0; 1<<20]);
    println!("{:?}", boom);
8 | pub fn make_static<'a, T>(input: &'a T) -> &'static T {
  |                    -- lifetime `'a` defined here
9 |     let f: fn(_, &'a T) -> &'static T = helper;
  |            ^^^^^^^^^^^^^^^^^^^^^^^^^^ type annotation requires that `'a` must outlive `'static`

error: could not compile `fake-static` (lib) due to 1 previous error

починили, там же новый трейт-солвер реализовали, который и этот баг исправлял, похоже, стабилизировали

Исходная версия zurg, :

    let boom = fake_static::make_static(&vec![0; 1<<20]);
    println!("{:?}", boom);