[go: up one dir, main page]

Trait Module

Source
pub trait Module<S: RingCommutative>: ModuleApprox<S> + GroupAbelian<Additive> { }
Expand description

A module combines two sets: one with an additive abelian group structure and another with a commutative ring structure.

In addition, and external multiplicative law is defined. Let S be the ring with multiplicative operator noted × and multiplicative identity element noted 1. Then:

∀ a, b ∈ S
∀ x, y ∈ Self

a ∘ (x + y) = (a ∘ x) + (a ∘ y)
(a + b) ∘ x = (a ∘ x) + (b ∘ x)
(a × b) ∘ x = a ∘ (b ∘ x)
1 ∘ x       = x

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§