try_sign_digest() is confusing.
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 3/5
- Tiempo estimado
- 1-2 días
- Aptitud para principiantes
- 52/100
- Tipo de issue
- Documentación
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- rust
- Área
- cryptography
Línea de trabajo
Comienza con la declaración de DigestSigner::try_sign_digest alrededor de signer.rs:110 y compara su documentación de Rust 3.x con la documentación enlazada de DigestSigner de 2.x. Aclara la diferencia entre pasar un digest y pasar el callback que espera el método actual, usando únicamente ejemplos compatibles con la API existente. La tarea estará terminada cuando los comentarios de los métodos ya no parezcan intercambiables y expliquen cómo debe proceder quien realiza la llamada.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
As of 3.0.0 the try_sign_digest method is now confusing enough to be unusable.
Previously in 2.x try_sign_digest took a Digest output for signing per https://docs.rs/signature/2.3.0-pre.7/signature/trait.DigestSigner.html
However in 3.x this now takes an fn mut, and it's not clear how this works. To make matters worse the doc comments are practically identical. This leads to update errors such as:
error[E0277]: expected a `Fn(&mut _)` closure, found `sha2::Sha256`
--> src/lib.rs:1010:30
|
1010 | .try_sign_digest(digest)
| --------------- ^^^^^^ expected an `Fn(&mut _)` closure, found `sha2::Sha256`
| |
| required by a bound introduced by this call
|
= help: the trait `for<'a> Fn(&'a mut _)` is not implemented for `sha2::Sha256`
note: required by a bound in `try_sign_digest`
--> /Users/william/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/signature-3.0.0/src/signer.rs:110:27
|
110 | fn try_sign_digest<F: Fn(&mut D) -> Result<(), Error>>(&self, f: F) -> Result<S, Error>;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ required by this bound in `DigestSigner::try_sign_digest`
But there is no clear or actionable method to proceed as there is no way to pass the digest to this function.
- Lenguaje dominante
- Rust
- Estrellas
- 760
- Forks
- 258
- Merge medio
- 2 h 53 min
- PR fusionados (30 d)
- 1
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de RustCrypto/traits
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
RustCrypto/traits#2482 · 5 comentarios ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 32/100
RustCrypto/traits#2478 · 5 comentarios ·
-
cipher: tracking issue for v0.6Abiertocipher
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
RustCrypto/traits#2424 ·
-
`signature` v4 tracking issueAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 25/100
RustCrypto/traits#2401 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
RustCrypto/traits#2366 · 1 comentario ·
Todos los issues de RustCrypto/traits
Issues similares
-
area/infra good first issue type/bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
cristim/AztecCraft#92 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
charles-hood/DiagramCraft#51 ·
-
S: Untriaged T: Bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
libnyanpasu/clash-nyanpasu#5788 ·
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
area:cli bug good first issue priority:medium
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
rtk-ai/rtk#4589 · 1 comentario ·
Los mantenedores suelen responder en 1 día