summaryrefslogtreecommitdiffstats
path: root/compiler/rustc_mir_build/src/build/expr/category.rs
diff options
context:
space:
mode:
Diffstat (limited to 'compiler/rustc_mir_build/src/build/expr/category.rs')
-rw-r--r--compiler/rustc_mir_build/src/build/expr/category.rs28
1 files changed, 14 insertions, 14 deletions
diff --git a/compiler/rustc_mir_build/src/build/expr/category.rs b/compiler/rustc_mir_build/src/build/expr/category.rs
index a4386319d..d33401f07 100644
--- a/compiler/rustc_mir_build/src/build/expr/category.rs
+++ b/compiler/rustc_mir_build/src/build/expr/category.rs
@@ -2,35 +2,35 @@ use rustc_middle::thir::*;
#[derive(Debug, PartialEq)]
pub(crate) enum Category {
- // An assignable memory location like `x`, `x.f`, `foo()[3]`, that
- // sort of thing. Something that could appear on the LHS of an `=`
- // sign.
+ /// An assignable memory location like `x`, `x.f`, `foo()[3]`, that
+ /// sort of thing. Something that could appear on the LHS of an `=`
+ /// sign.
Place,
- // A literal like `23` or `"foo"`. Does not include constant
- // expressions like `3 + 5`.
+ /// A literal like `23` or `"foo"`. Does not include constant
+ /// expressions like `3 + 5`.
Constant,
- // Something that generates a new value at runtime, like `x + y`
- // or `foo()`.
+ /// Something that generates a new value at runtime, like `x + y`
+ /// or `foo()`.
Rvalue(RvalueFunc),
}
-// Rvalues fall into different "styles" that will determine which fn
-// is best suited to generate them.
+/// Rvalues fall into different "styles" that will determine which fn
+/// is best suited to generate them.
#[derive(Debug, PartialEq)]
pub(crate) enum RvalueFunc {
- // Best generated by `into`. This is generally exprs that
- // cause branching, like `match`, but also includes calls.
+ /// Best generated by `into`. This is generally exprs that
+ /// cause branching, like `match`, but also includes calls.
Into,
- // Best generated by `as_rvalue`. This is usually the case.
+ /// Best generated by `as_rvalue`. This is usually the case.
AsRvalue,
}
-/// Determines the category for a given expression. Note that scope
-/// and paren expressions have no category.
impl Category {
+ /// Determines the category for a given expression. Note that scope
+ /// and paren expressions have no category.
pub(crate) fn of(ek: &ExprKind<'_>) -> Option<Category> {
match *ek {
ExprKind::Scope { .. } => None,