diff options
| author | Michael Goulet <michael@errs.io> | 2022-07-13 05:39:01 +0000 |
|---|---|---|
| committer | Michael Goulet <michael@errs.io> | 2022-07-14 23:36:46 +0000 |
| commit | d25abdc0c52cc08cdd290be325f1be04f3cea548 (patch) | |
| tree | c439ec566cdce1199ad5d9c8946ff2c791ae4d11 /compiler/rustc_middle/src | |
| parent | ddb7003b7950a6df815d1f03ea6eca9f4cc2a408 (diff) | |
| download | rust-d25abdc0c52cc08cdd290be325f1be04f3cea548.tar.gz rust-d25abdc0c52cc08cdd290be325f1be04f3cea548.zip | |
Point out custom Fn-family trait impl
Diffstat (limited to 'compiler/rustc_middle/src')
| -rw-r--r-- | compiler/rustc_middle/src/ty/closure.rs | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/compiler/rustc_middle/src/ty/closure.rs b/compiler/rustc_middle/src/ty/closure.rs index f5ce43f3afb..8ead0512274 100644 --- a/compiler/rustc_middle/src/ty/closure.rs +++ b/compiler/rustc_middle/src/ty/closure.rs @@ -128,6 +128,14 @@ impl<'tcx> ClosureKind { None } } + + pub fn to_def_id(&self, tcx: TyCtxt<'_>) -> DefId { + match self { + ClosureKind::Fn => tcx.lang_items().fn_once_trait().unwrap(), + ClosureKind::FnMut => tcx.lang_items().fn_mut_trait().unwrap(), + ClosureKind::FnOnce => tcx.lang_items().fn_trait().unwrap(), + } + } } /// A composite describing a `Place` that is captured by a closure. |
