libcore: Add iter::from_generator
which is like iter::from_fn
, but for coroutines instead of functions
This commit is contained in:
parent
490324f7b2
commit
5bf23f64cc
9 changed files with 67 additions and 34 deletions
|
@ -3,6 +3,7 @@
|
|||
#![feature(drain_filter)]
|
||||
#![feature(generators)]
|
||||
#![feature(generic_associated_types)]
|
||||
#![feature(iter_from_generator)]
|
||||
#![feature(let_chains)]
|
||||
#![feature(let_else)]
|
||||
#![feature(nll)]
|
||||
|
|
|
@ -4,7 +4,6 @@ use crate::rmeta::*;
|
|||
|
||||
use rustc_data_structures::fingerprint::Fingerprint;
|
||||
use rustc_data_structures::fx::{FxHashMap, FxIndexSet};
|
||||
use rustc_data_structures::iter_from_generator;
|
||||
use rustc_data_structures::stable_hasher::{HashStable, StableHasher};
|
||||
use rustc_data_structures::sync::{join, par_iter, Lrc, ParallelIterator};
|
||||
use rustc_hir as hir;
|
||||
|
@ -39,6 +38,7 @@ use rustc_span::{
|
|||
use rustc_target::abi::VariantIdx;
|
||||
use std::borrow::Borrow;
|
||||
use std::hash::Hash;
|
||||
use std::iter;
|
||||
use std::num::NonZeroUsize;
|
||||
use tracing::{debug, trace};
|
||||
|
||||
|
@ -1134,7 +1134,7 @@ impl<'a, 'tcx> EncodeContext<'a, 'tcx> {
|
|||
// Encode this here because we don't do it in encode_def_ids.
|
||||
record!(self.tables.expn_that_defined[def_id] <- tcx.expn_that_defined(local_def_id));
|
||||
} else {
|
||||
record_array!(self.tables.children[def_id] <- iter_from_generator(|| {
|
||||
record_array!(self.tables.children[def_id] <- iter::from_generator(|| {
|
||||
for item_id in md.item_ids {
|
||||
match tcx.hir().item(*item_id).kind {
|
||||
// Foreign items are planted into their parent modules
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue