我正在尝试在Rust中返回一个元组数组,但是我遇到了有生命周期的问题:
pub trait Vertex{
fn map_components<'a>() -> &'a[(GLint, GLenum)];
}
pub struct VertexPos2d {
// Position
x: GLfloat,
y: GLfloat
}
impl Vertex for VertexPos2d{
fn map_components<'a>() -> &'a[(GLint, GLenum)]{
return &[
(2, gl::FLOAT) as (GLint, GLenum)
];
}
}
如果我从数组中删除元组,似乎一切正常。我试图调整生命周期,使得数组中的元组与数组本身具有相同的生命周期,但无法使其工作。我能做些什么改变才能让它发挥作用?