Coverage Report

Created: 2026-03-23 07:13

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/rust/registry/src/index.crates.io-1949cf8c6b5b557f/ndarray-0.17.2/src/argument_traits.rs
Line
Count
Source
1
use std::cell::Cell;
2
use std::mem::MaybeUninit;
3
4
use crate::math_cell::MathCell;
5
6
/// A producer element that can be assigned to once
7
pub trait AssignElem<T>
8
{
9
    /// Assign the value `input` to the element that self represents.
10
    fn assign_elem(self, input: T);
11
}
12
13
/// Assignable element, simply `*self = input`.
14
impl<T> AssignElem<T> for &mut T
15
{
16
0
    fn assign_elem(self, input: T)
17
    {
18
0
        *self = input;
19
0
    }
20
}
21
22
/// Assignable element, simply `self.set(input)`.
23
impl<T> AssignElem<T> for &Cell<T>
24
{
25
0
    fn assign_elem(self, input: T)
26
    {
27
0
        self.set(input);
28
0
    }
29
}
30
31
/// Assignable element, simply `self.set(input)`.
32
impl<T> AssignElem<T> for &MathCell<T>
33
{
34
0
    fn assign_elem(self, input: T)
35
    {
36
0
        self.set(input);
37
0
    }
38
}
39
40
/// Assignable element, the item in the MaybeUninit is overwritten (prior value, if any, is not
41
/// read or dropped).
42
impl<T> AssignElem<T> for &mut MaybeUninit<T>
43
{
44
0
    fn assign_elem(self, input: T)
45
    {
46
0
        *self = MaybeUninit::new(input);
47
0
    }
48
}