always create DefId
s when lowering anon-consts
This commit is contained in:
parent
467e200cd5
commit
94131bd0a8
9 changed files with 61 additions and 185 deletions
|
@ -1184,14 +1184,15 @@ pub struct Expr {
|
|||
}
|
||||
|
||||
impl Expr {
|
||||
/// Is this expr either `N`, or `{ N }`.
|
||||
/// Could this expr be either `N`, or `{ N }`, where `N` is a const parameter.
|
||||
///
|
||||
/// If this is not the case, name resolution does not resolve `N` when using
|
||||
/// `min_const_generics` as more complex expressions are not supported.
|
||||
///
|
||||
/// Does not ensure that the path resolves to a const param, the caller should check this.
|
||||
pub fn is_potential_trivial_const_arg(&self, strip_identity_block: bool) -> bool {
|
||||
let this = if strip_identity_block { self.maybe_unwrap_block() } else { self };
|
||||
/// This also does not consider macros, so it's only correct after macro-expansion.
|
||||
pub fn is_potential_trivial_const_arg(&self) -> bool {
|
||||
let this = self.maybe_unwrap_block();
|
||||
|
||||
if let ExprKind::Path(None, path) = &this.kind
|
||||
&& path.is_potential_trivial_const_arg()
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue