Rollup merge of #61618 - RalfJung:error, r=oli-obk

make the backtrace field of EvalError private

This also makes sure people don't contruct these the wrong way (i.e., not through the `From` instance).

r? @oli-obk
This commit is contained in:
Mazdak Farrokhzad 2019-06-07 16:48:10 +02:00 committed by GitHub
commit b9c752b550
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -179,10 +179,15 @@ pub fn struct_error<'a, 'gcx, 'tcx>(
struct_span_err!(tcx.sess, tcx.span, E0080, "{}", msg)
}
/// Packages the kind of error we got from the const code interpreter
/// up with a Rust-level backtrace of where the error occured.
/// Thsese should always be constructed by calling `.into()` on
/// a `InterpError`. In `librustc_mir::interpret`, we have the `err!`
/// macro for this
#[derive(Debug, Clone)]
pub struct EvalError<'tcx> {
pub kind: InterpError<'tcx, u64>,
pub backtrace: Option<Box<Backtrace>>,
backtrace: Option<Box<Backtrace>>,
}
impl<'tcx> EvalError<'tcx> {