diff options
| author | Dylan DPC <dylan.dpc@gmail.com> | 2021-04-07 13:07:14 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-07 13:07:14 +0200 |
| commit | cde58f7174cd83752b3c0a00a970dcc07c511077 (patch) | |
| tree | de23aed285e936e69e3af8ce1de8756a35921b8b /clippy_utils/src | |
| parent | 44e3ccb6dc08ca26efd980fc79d011ff1fcb2f94 (diff) | |
| parent | 879bfeca54a61c22b836905da1468ac2e37085b5 (diff) | |
| download | rust-cde58f7174cd83752b3c0a00a970dcc07c511077.tar.gz rust-cde58f7174cd83752b3c0a00a970dcc07c511077.zip | |
Rollup merge of #83916 - Amanieu:asm_anonconst, r=petrochenkov
Use AnonConst for asm! constants This replaces the old system which used explicit promotion. See #83169 for more background. The syntax for `const` operands is still the same as before: `const <expr>`. Fixes #83169 Because the implementation is heavily based on inline consts, we suffer from the same issues: - We lose the ability to use expressions derived from generics. See the deleted tests in `src/test/ui/asm/const.rs`. - We are hitting the same ICEs as inline consts, for example #78174. It is unlikely that we will be able to stabilize this before inline consts are stabilized.
Diffstat (limited to 'clippy_utils/src')
| -rw-r--r-- | clippy_utils/src/hir_utils.rs | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/clippy_utils/src/hir_utils.rs b/clippy_utils/src/hir_utils.rs index 618d33545a4..b30c0b79881 100644 --- a/clippy_utils/src/hir_utils.rs +++ b/clippy_utils/src/hir_utils.rs @@ -663,7 +663,8 @@ impl<'a, 'tcx> SpanlessHash<'a, 'tcx> { self.hash_expr(out_expr); } }, - InlineAsmOperand::Const { expr } | InlineAsmOperand::Sym { expr } => self.hash_expr(expr), + InlineAsmOperand::Const { anon_const } => self.hash_body(anon_const.body), + InlineAsmOperand::Sym { expr } => self.hash_expr(expr), } } }, |
