dtolnay/cxx

Support higher rank function pointers

Ouverte

#817 ouverte le 9 avr. 2021

 (0 commentaire) (0 réaction) (0 personne assignée)Rust (253 forks)batch import
help wanted

Métriques du dépôt

Stars
 (4 472 étoiles)
Métriques de merge PR
 (Merge moyen 8m) (3 PRs mergées en 30 j)

Description

#[cxx::bridge]
mod ffi {
    extern "Rust" {
        type Thing<'a>;
    }

    unsafe extern "C++" {
        fn f(callback: for<'a> fn(&mut Thing<'a>, &mut Thing<'a>));
    }
}

Currently rejected:

error: function pointer with lifetime parameters is not supported yet
 --> src/main.rs:8:24
  |
8 |         fn f(callback: for<'a> fn(&mut Thing<'a>, &mut Thing<'a>));
  |                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Guide contributeur