func (c *copier) newProgressPool(ctx context.Context) (*mpb.Progress, func()) {
	ctx, cancel := context.WithCancel(ctx)
	pool := mpb.New(mpb.WithWidth(40), mpb.WithOutput(c.progressOutput), mpb.WithContext(ctx))
	return pool, func() {
		cancel()
		pool.Wait()
	}
}
func (c *copier) newProgressPool(ctx context.Context) (*mpb.Progress, func()) {
	ctx, cancel := context.WithCancel(ctx)
	pool := mpb.New(mpb.WithWidth(40), mpb.WithOutput(c.progressOutput), mpb.WithContext(ctx))
	return pool, func() {
		cancel()
		pool.Wait()
	}
}
func ( c * copier ) newProgressPool ( ctx context . Context ) ( * mpb . Progress , func ( ) ) { ctx , cancel := context . WithCancel ( ctx ) pool := mpb . New ( mpb . WithWidth ( 40 ) , mpb . WithOutput ( c . progressOutput ) , mpb . WithContext ( ctx ) ) return pool , func ( ) { cancel ( ) pool . Wait ( ) } }
// newProgressPool creates a *mpb.Progress and a cleanup function.
// The caller must eventually call the returned cleanup function after the pool will no longer be updated.
newProgressPool creates a * mpb . Progress and a cleanup function . The caller must eventually call the returned cleanup function after the pool will no longer be updated .