Rust是如何使用“函数”处理函数的&引用;在args的末尾?
我有以下代码:Rust是如何使用“函数”处理函数的&引用;在args的末尾?,rust,Rust,我有以下代码: pub type f_t = ::std::option::Option<extern "C" fn(a: ::std::os::raw::c_int, ...)>; #[repr(C)] #[derive(Copy, Clone)] #[derive(Debug)] pub struct Foo { pub f: f_t, } fn main() { } pub类型f\t= ::std::option::option; #[报告员(C)] #[
pub type f_t =
::std::option::Option<extern "C" fn(a: ::std::os::raw::c_int, ...)>;
#[repr(C)]
#[derive(Copy, Clone)]
#[derive(Debug)]
pub struct Foo {
pub f: f_t,
}
fn main() {
}
pub类型f\t=
::std::option::option;
#[报告员(C)]
#[衍生(复制、克隆)]
#[导出(调试)]
pub struct Foo{
酒吧f:f_t,
}
fn main(){
}
它不会编译,因为对于参数末尾带有“…”的函数,没有默认的Clone
实现
,…
,它编译得很好。有什么区别,为什么一类函数指针实现Clone
,而另一类不实现Clone
Clone
。在夜间和测试版上,这已经被修复