2016-12-31 24 views
0

私はrust-cpythonとRust for Python .so libを使用します。私はこのようなクラスを作成したい:py_classでのlifetimesの使い方!腐った - cpython?

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-cpythonそれを許可しません。問題は何ですか?そして、私は一般的にマクロでどのように寿命を使いますか? documentationから

答えて

1

:タイプ内部のすべてが'staticでなければならないので

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

は、クラスの寿命パラメータを許可することにも意味がないのでしょう。

関連する問題