• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

geo-engine / geoengine / 17044350441

18 Aug 2025 03:00PM UTC coverage: 88.074%. First build
17044350441

Pull #1015

github

web-flow
Merge f38e4bbee into db8685e5e
Pull Request #1015: workflow optimization (wip)

1666 of 2178 new or added lines in 51 files covered. (76.49%)

114929 of 130492 relevant lines covered (88.07%)

179856.12 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

75.0
/operators/src/engine/clonable_operator.rs
1
use super::{
2
    InitializedPlotOperator, InitializedRasterOperator, InitializedVectorOperator, PlotOperator,
3
    RasterOperator, VectorOperator,
4
};
5

6
/// Helper trait for making boxed `RasterOperator`s cloneable
7
pub trait CloneableRasterOperator {
8
    fn clone_boxed_raster(&self) -> Box<dyn RasterOperator>;
9
}
10

11
/// Helper trait for making boxed `VectorOperator`s cloneable
12
pub trait CloneableVectorOperator {
13
    fn clone_boxed_vector(&self) -> Box<dyn VectorOperator>;
14
}
15

16
/// Helper trait for making boxed `PlotOperator`s cloneable
17
pub trait CloneablePlotOperator {
18
    fn clone_boxed_plot(&self) -> Box<dyn PlotOperator>;
19
}
20

21
impl<T> CloneableRasterOperator for T
22
where
23
    T: 'static + RasterOperator + Clone,
24
{
25
    fn clone_boxed_raster(&self) -> Box<dyn RasterOperator> {
109✔
26
        Box::new(self.clone())
109✔
27
    }
109✔
28
}
29

30
impl<T> CloneableVectorOperator for T
31
where
32
    T: 'static + VectorOperator + Clone,
33
{
34
    fn clone_boxed_vector(&self) -> Box<dyn VectorOperator> {
50✔
35
        Box::new(self.clone())
50✔
36
    }
50✔
37
}
38

39
impl<T> CloneablePlotOperator for T
40
where
41
    T: 'static + PlotOperator + Clone,
42
{
43
    fn clone_boxed_plot(&self) -> Box<dyn PlotOperator> {
2✔
44
        Box::new(self.clone())
2✔
45
    }
2✔
46
}
47

48
impl Clone for Box<dyn RasterOperator> {
49
    fn clone(&self) -> Box<dyn RasterOperator> {
109✔
50
        self.clone_boxed_raster()
109✔
51
    }
109✔
52
}
53

54
impl Clone for Box<dyn VectorOperator> {
55
    fn clone(&self) -> Box<dyn VectorOperator> {
50✔
56
        self.clone_boxed_vector()
50✔
57
    }
50✔
58
}
59

60
impl Clone for Box<dyn PlotOperator> {
61
    fn clone(&self) -> Box<dyn PlotOperator> {
2✔
62
        self.clone_boxed_plot()
2✔
63
    }
2✔
64
}
65

66
/// Helper trait for making boxed `InitializedRasterOperator`s cloneable
67
pub trait CloneableInitializedRasterOperator {
68
    fn clone_boxed_raster(&self) -> Box<dyn InitializedRasterOperator>;
69
}
70

71
/// Helper trait for making boxed `InitializedVectorOperator`s cloneable
72
pub trait CloneableInitializedVectorOperator {
73
    fn clone_boxed_vector(&self) -> Box<dyn InitializedVectorOperator>;
74
}
75

76
/// Helper trait for making boxed `InitializedPlotOperator`s cloneable
77
pub trait CloneableInitializedPlotOperator {
78
    fn clone_boxed_plot(&self) -> Box<dyn InitializedPlotOperator>;
79
}
80

81
impl<T> CloneableInitializedRasterOperator for T
82
where
83
    T: 'static + InitializedRasterOperator + Clone,
84
{
NEW
85
    fn clone_boxed_raster(&self) -> Box<dyn InitializedRasterOperator> {
×
NEW
86
        Box::new(self.clone())
×
NEW
87
    }
×
88
}
89

90
impl Clone for Box<dyn InitializedRasterOperator> {
NEW
91
    fn clone(&self) -> Box<dyn InitializedRasterOperator> {
×
NEW
92
        self.clone_boxed_raster()
×
NEW
93
    }
×
94
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc