Deriving `zeroize::Zeroize` requires the `Zeroize` trait to already be in scope
Mantenedores costumam responder em até 1 dia
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 45/100
Direção de pesquisa
Execute a reprodução mínima em src/lib.rs e inspecione a expansão do derive de zeroize::Zeroize, usando a comparação do derive de serde como contexto. Confirme que o problema está resolvido quando derivar zeroize::Zeroize não exigir mais um import explícito de use zeroize::Zeroize, enquanto a reprodução ainda compila.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
Hi, while trying to add zeroize support to a crate I'm making, I found that I was getting a weird error about the Zeroize trait not being in scope:
error[E0405]: cannot find trait `Zeroize` in this scope
--> src\lib.rs:13:40
|
13 | #[cfg_attr(feature = "zeroize", derive(zeroize::Zeroize))]
| ^^^^^^^^^^^^^^^^ not found in this scope
|
= note: this error originates in the derive macro `zeroize::Zeroize` (in Nightly builds, run with -Z macro-backtrace for more info)
help: consider importing this trait
|
3 + use zeroize::Zeroize;
|
Here's a minimal reproduction (unfortunately I can't send a playground link, since the playground doesn't provide the zeroize derives):
#[derive(zeroize::Zeroize)]
struct A;
The fix is relatively simple:
use zeroize::Zeroize;
#[derive(zeroize::Zeroize)]
struct A;
though having a trait in scope solely for a derive feels... wrong.
I will note that serde is able to derive without its relevant traits in scope:
#[derive(serde::Serialize, serde::Deserialize)]
struct A;
So perhaps zeroize should be changed to do the same?
Thank you for your time, and hopefully this is a relatively easy fix.
- Linguagem predominante
- Rust
- Estrelas
- 684
- Forks
- 172
- Merge médio
- 1d 5h
- PRs com merge (30d)
- 13
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de RustCrypto/utils
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
RustCrypto/utils#1555 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
RustCrypto/utils#1546 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
inout: improve test coverageAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
RustCrypto/utils#1562 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
RustCrypto/utils#1537 · 7 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
RustCrypto/utils#1534 · 2 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de RustCrypto/utils
Issues semelhantes
-
The book has a Nix install section that chelis.ch lacks, and it names two of the three systemsAbertaarea:ecosystem documentation
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
Chelis-Lang/chelis#3866 ·
Mantenedores costumam responder em até 1 dia
-
[安卓Feature]: 数字键盘左侧符号区域大小优化Abertaenhancement
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
metasequoiaime/msime#8620 ·
Mantenedores costumam responder em até 1 dia
-
agent-detection macos p2 triaged
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
Mantenedores costumam responder em até 1 dia
-
bug documentation sev-0
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 72/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia