gpt4 book ai didi

python - 如何在 py_class 中使用生命周期!在使用rust 的cpython中?

转载 作者:行者123 更新时间:2023-11-29 08:27:26 25 4
gpt4 key购买 nike

我使用 rust-cpython和 Rust 的 Python .so 库。我想创建一个这样的类:

py_class!(class MyType |py| {
data s: Into<Cow<'a, str>>;

....
}

但它不允许使用生命周期:

error[E0261]: use of undeclared lifetime name `'p`
|
81 | data s: Into<Cow<'a, str>>;
| ^^ undeclared lifetime

而且它不允许写:

py_class!(class MyType<'a> |py| {

有错误:

error: no rules expected the token `<`
|
79 | py_class!(class MyType<'a> |py| {
| ^

可能是我Rust不太好,可能rust-cpython不允许。问题是什么?一般情况下,我将如何在宏中使用生命周期?

最佳答案

来自documentation :

Because Python code can pass all Python objects to other threads, data_type must be Send + 'static.

由于类型中的所有内容都必须是'static,因此在类上允许生命周期参数是没有意义的。

关于python - 如何在 py_class 中使用生命周期!在使用rust 的cpython中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41408559/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com