RsBundle  Diff

Differences From Artifact [b6153a17f5]:

  • File src/solver.rs — part of check-in [cd30b6f272] at 2018-06-26 21:17:34 on branch error-handling — master: Subgradient extension callback may return an error. This callback eventually calls a method of the oracle and may fail with some user error. This error is now returned to the master problem and finally back to the solver. (user: fifr size: 36955)

To Artifact [d7e36dbc14]:

  • File src/solver.rs — part of check-in [58f8ffe7a1] at 2018-06-26 21:39:59 on branch error-handling — Implement `MasterProblemError` as more specific enum (user: fifr size: 36946)

79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
}

impl<E: Error> Error for SolverError<E> {
    fn cause(&self) -> Option<&Error> {
        match self {
            SolverError::Evaluation(err) => Some(err),
            SolverError::Update(err) => Some(err),
            SolverError::Master(err) => Some(err.as_ref()),
            _ => None,
        }
    }
}

impl<E> From<ParameterError> for SolverError<E> {
    fn from(err: ParameterError) -> SolverError<E> {







|







79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
}

impl<E: Error> Error for SolverError<E> {
    fn cause(&self) -> Option<&Error> {
        match self {
            SolverError::Evaluation(err) => Some(err),
            SolverError::Update(err) => Some(err),
            SolverError::Master(err) => Some(err),
            _ => None,
        }
    }
}

impl<E> From<ParameterError> for SolverError<E> {
    fn from(err: ParameterError) -> SolverError<E> {