--- a/src/convex.rs Tue Apr 29 00:03:12 2025 -0500 +++ b/src/convex.rs Tue Apr 29 07:55:18 2025 -0500 @@ -319,15 +319,15 @@ } /// The squared Euclidean norm divided by two -pub struct Norm222<Domain: Space, F: Float>(PhantomData<(Domain, F)>); +pub struct Norm222<F: Float>(PhantomData<F>); -impl<Domain: Euclidean<F>, F: Float> Norm222<Domain, F> { +impl</*Domain: Euclidean<F>,*/ F: Float> Norm222<F> { pub fn new() -> Self { Norm222(PhantomData) } } -impl<Domain: Euclidean<F>, F: Float> Mapping<Domain> for Norm222<Domain, F> { +impl<Domain: Euclidean<F>, F: Float> Mapping<Domain> for Norm222<F> { type Codomain = F; /// Compute the value of `self` at `x`. @@ -336,9 +336,9 @@ } } -impl<Domain: Euclidean<F>, F: Float> ConvexMapping<Domain, F> for Norm222<Domain, F> {} +impl<Domain: Euclidean<F>, F: Float> ConvexMapping<Domain, F> for Norm222<F> {} -impl<Domain: Euclidean<F>, F: Float> Conjugable<Domain, F> for Norm222<Domain, F> { +impl<Domain: Euclidean<F>, F: Float> Conjugable<Domain, F> for Norm222<F> { type Conjugate<'a> = Self where @@ -350,7 +350,7 @@ } } -impl<Domain: Euclidean<F>, F: Float> Preconjugable<Domain, Domain, F> for Norm222<Domain, F> { +impl<Domain: Euclidean<F>, F: Float> Preconjugable<Domain, Domain, F> for Norm222<F> { type Preconjugate<'a> = Self where @@ -362,7 +362,7 @@ } } -impl<Domain, F> Prox<Domain> for Norm222<Domain, F> +impl<Domain, F> Prox<Domain> for Norm222<F> where F: Float, Domain: Euclidean<F, Output = Domain>,