11use super :: {
22 data_tree:: DataTree ,
3+ get_size:: GetSize ,
34 os_string_display:: OsStringDisplay ,
45 reporter:: { error_report:: Operation :: * , ErrorReport , Event , Reporter } ,
56 size:: Size ,
67 tree_builder:: { Info , TreeBuilder } ,
78} ;
89use pipe_trait:: Pipe ;
910use std:: {
10- fs:: { read_dir, symlink_metadata, Metadata } ,
11+ fs:: { read_dir, symlink_metadata} ,
1112 path:: PathBuf ,
1213} ;
1314
@@ -19,14 +20,14 @@ use std::{
1920/// # use parallel_disk_usage::fs_tree_builder::FsTreeBuilder;
2021/// use parallel_disk_usage::{
2122/// data_tree::DataTree,
23+ /// get_size::GetApparentSize,
2224/// os_string_display::OsStringDisplay,
2325/// reporter::{ErrorOnlyReporter, ErrorReport},
2426/// size::Bytes,
25- /// size_getters::GET_APPARENT_SIZE,
2627/// };
2728/// let builder = FsTreeBuilder {
2829/// root: std::env::current_dir().unwrap(),
29- /// get_data: GET_APPARENT_SIZE ,
30+ /// get_data: GetApparentSize ,
3031/// reporter: ErrorOnlyReporter::new(ErrorReport::SILENT),
3132/// };
3233/// let data_tree: DataTree<OsStringDisplay, Bytes> = builder.into();
@@ -35,7 +36,7 @@ use std::{
3536pub struct FsTreeBuilder < Data , GetData , Report >
3637where
3738 Data : Size + Send + Sync ,
38- GetData : Fn ( & Metadata ) -> Data + Sync ,
39+ GetData : GetSize < Size = Data > + Sync ,
3940 Report : Reporter < Data > + Sync ,
4041{
4142 /// Root of the directory tree.
@@ -50,7 +51,7 @@ impl<Data, GetData, Report> From<FsTreeBuilder<Data, GetData, Report>>
5051 for DataTree < OsStringDisplay , Data >
5152where
5253 Data : Size + Send + Sync ,
53- GetData : Fn ( & Metadata ) -> Data + Sync ,
54+ GetData : GetSize < Size = Data > + Sync ,
5455 Report : Reporter < Data > + Sync ,
5556{
5657 /// Create a [`DataTree`] from an [`FsTreeBuilder`].
@@ -110,7 +111,7 @@ where
110111 Vec :: new ( )
111112 } ;
112113
113- let data = get_data ( & stats) ;
114+ let data = get_data. get_size ( & stats) ;
114115 reporter. report ( Event :: ReceiveData ( data) ) ;
115116
116117 Info { data, children }
0 commit comments