1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
// =============================================================================
// Copyright (c) 2026 Haixing Hu.
//
// SPDX-License-Identifier: Apache-2.0
//
// Licensed under the Apache License, Version 2.0.
// =============================================================================
//! Static copy execution assessment.
use CopyExecutionRoute;
use FallbackRejection;
/// Result of no-I/O copy route analysis.
///
/// The assessment is derived from the cached provider snapshot and does not
/// contact the provider. Execution may still fail after this assessment.
///
/// # Examples
///
/// ```rust
/// # fn main() -> Result<(), qubit_fs::FsError> {
/// use qubit_fs::Path;
/// use qubit_fs::copy::CopyExecutionRoute;
/// use qubit_fs::copy::CopyOptions;
/// # mod support { include!(concat!(env!("CARGO_MANIFEST_DIR"), "/tests/common/rustdoc_support.rs")); }
/// let fs = support::rustdoc_provider::filesystem();
/// let assessment = fs.assess_copy(&Path::parse("/report")?, &Path::parse("/copy")?, &CopyOptions::default())?;
/// assert_eq!(assessment.route(), CopyExecutionRoute::StreamOnly);
/// assert_eq!(assessment.fallback_rejection(), None);
/// # Ok(())
/// # }
/// ```