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
// =============================================================================
// Copyright (c) 2025 - 2026 Haixing Hu.
//
// SPDX-License-Identifier: Apache-2.0
//
// Licensed under the Apache License, Version 2.0.
// =============================================================================
//! Classification independent of the source and requested value types.
/// Identifies why a read could not produce a concrete value.
///
/// The reason is independent of the source and target types. Inspect the
/// accompanying [`crate::ValueMissing`] accessors for those types and for a
/// collection index when one is available.
///
/// # Examples
///
/// ```
/// use qubit_datatype::DataType;
/// use qubit_value::Value;
/// use qubit_value::ValueMissingReason;
///
/// let error = Value::new_unset(DataType::Int32)
/// .get::<i32>()
/// .unwrap_err();
/// assert_eq!(error.missing().unwrap().reason(), ValueMissingReason::UnsetScalar);
/// ```