Implement TryFrom instead of TryInto

This commit is contained in:
Luca Palmieri 2021-09-01 09:22:31 +02:00
parent 2aa2c9a642
commit ed0f2fb593

View file

@ -8,7 +8,7 @@ use chrono::Utc;
use rand::distributions::Alphanumeric;
use rand::{thread_rng, Rng};
use sqlx::{PgPool, Postgres, Transaction};
use std::convert::TryInto;
use std::convert::{TryFrom, TryInto};
use uuid::Uuid;
#[derive(serde::Deserialize)]
@ -17,13 +17,13 @@ pub struct FormData {
name: String,
}
impl TryInto<NewSubscriber> for FormData {
impl TryFrom<FormData> for NewSubscriber {
type Error = String;
fn try_into(self) -> Result<NewSubscriber, Self::Error> {
let name = SubscriberName::parse(self.name)?;
let email = SubscriberEmail::parse(self.email)?;
Ok(NewSubscriber { email, name })
fn try_from(value: FormData) -> Result<Self, Self::Error> {
let name = SubscriberName::parse(value.name)?;
let email = SubscriberEmail::parse(value.email)?;
Ok(Self { email, name })
}
}