diff -r c4e394a9c84c -r 402d717bb5c0 src/norms.rs --- a/src/norms.rs Mon Sep 01 13:51:03 2025 -0500 +++ b/src/norms.rs Mon Sep 01 20:55:34 2025 -0500 @@ -4,7 +4,7 @@ use crate::euclidean::*; use crate::instance::Ownable; -use crate::linops::VectorSpace; +use crate::linops::{ClosedVectorSpace, VectorSpace}; use crate::mapping::{Instance, Mapping, Space}; use crate::types::*; use serde::{Deserialize, Serialize}; @@ -229,7 +229,7 @@ } pub trait HasDual: Normed + VectorSpace { - type DualSpace: Normed + VectorSpace; + type DualSpace: Normed + ClosedVectorSpace; fn dual_origin(&self) -> ::Owned; } @@ -237,11 +237,14 @@ /// Automatically implemented trait for reflexive spaces pub trait Reflexive: HasDual where - Self::DualSpace: HasDual, + Self::DualSpace: HasDual, { } -impl> Reflexive for X where X::DualSpace: HasDual {} +impl> Reflexive for X where + X::DualSpace: HasDual +{ +} pub trait HasDualExponent: NormExponent { type DualExp: NormExponent;