about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/query
diff options
context:
space:
mode:
authorTomasz Miąsko <tomasz.miasko@gmail.com>2020-11-25 00:00:00 +0000
committerTomasz Miąsko <tomasz.miasko@gmail.com>2020-11-25 00:00:00 +0000
commit22d3431221df2e9136d303d1762ea7afdded1b5e (patch)
tree7968a31ba31fa97d8e9c569a39268f7654f1e560 /compiler/rustc_middle/src/query
parent773ddbada7183b57928a1d2f5e0722b7f53a3bf7 (diff)
downloadrust-22d3431221df2e9136d303d1762ea7afdded1b5e.tar.gz
rust-22d3431221df2e9136d303d1762ea7afdded1b5e.zip
Validate use of parameters in naked functions
* Reject use of parameters inside naked function body.
* Reject use of patterns inside function parameters, to emphasize role
  of parameters a signature declaration (mirroring existing behaviour
  for function declarations) and avoid generating code introducing
  specified bindings.
Diffstat (limited to 'compiler/rustc_middle/src/query')
-rw-r--r--compiler/rustc_middle/src/query/mod.rs4
1 files changed, 4 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/query/mod.rs b/compiler/rustc_middle/src/query/mod.rs
index 634d50368bd..107336c5cee 100644
--- a/compiler/rustc_middle/src/query/mod.rs
+++ b/compiler/rustc_middle/src/query/mod.rs
@@ -635,6 +635,10 @@ rustc_queries! {
             desc { |tcx| "checking loops in {}", describe_as_module(key, tcx) }
         }
 
+        query check_mod_naked_functions(key: LocalDefId) -> () {
+            desc { |tcx| "checking naked functions in {}", describe_as_module(key, tcx) }
+        }
+
         query check_mod_item_types(key: LocalDefId) -> () {
             desc { |tcx| "checking item types in {}", describe_as_module(key, tcx) }
         }