Auto merge of #13615 - GnomedDev:document-constevalctx-point, r=Alexendoo
Explain why clippy's HIR const eval exists When I initially found this, I was wondering why clippy wasn't just using miri, but after some discussion with some rustc folks let's document why. changelog: none
This commit is contained in:
commit
c782988378
@ -1,3 +1,7 @@
|
|||||||
|
//! A simple const eval API, for use on arbitrary HIR expressions.
|
||||||
|
//!
|
||||||
|
//! This cannot use rustc's const eval, aka miri, as arbitrary HIR expressions cannot be lowered to
|
||||||
|
//! executable MIR bodies, so we have to do this instead.
|
||||||
#![allow(clippy::float_cmp)]
|
#![allow(clippy::float_cmp)]
|
||||||
|
|
||||||
use crate::macros::HirNode;
|
use crate::macros::HirNode;
|
||||||
@ -379,6 +383,8 @@ fn cmp_s_u(s: i128, u: u128) -> Ordering {
|
|||||||
/// The context required to evaluate a constant expression.
|
/// The context required to evaluate a constant expression.
|
||||||
///
|
///
|
||||||
/// This is currently limited to constant folding and reading the value of named constants.
|
/// This is currently limited to constant folding and reading the value of named constants.
|
||||||
|
///
|
||||||
|
/// See the module level documentation for some context.
|
||||||
pub struct ConstEvalCtxt<'tcx> {
|
pub struct ConstEvalCtxt<'tcx> {
|
||||||
tcx: TyCtxt<'tcx>,
|
tcx: TyCtxt<'tcx>,
|
||||||
param_env: ParamEnv<'tcx>,
|
param_env: ParamEnv<'tcx>,
|
||||||
|
Loading…
Reference in New Issue
Block a user