Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 11 pull requests #79440

Closed
wants to merge 30 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
4379a43
Suggest turbofish for uninferred const argument
Stupremee Oct 8, 2020
b11d0f2
Update error to reflect that integer literals can have float suffixes
camelid Nov 22, 2020
6e17ab5
Lower `if let` before the arms.
cjgillot Nov 15, 2020
27c60ba
Remove Pat pre-lowering.
cjgillot Nov 15, 2020
1d8c381
Upgrades the coverage map to Version 4
richkadel Nov 23, 2020
5d5dc4c
Updated links to LLVM 11 docs and types
richkadel Nov 24, 2020
51268d2
Check for LLVM 11+ when using `-Z instrument-coverage`
richkadel Nov 24, 2020
5481c1b
Move lev_distance to rustc_ast, make non-generic
Nov 12, 2020
b5fef37
Apply suggestions from code review
richkadel Nov 25, 2020
d61ea56
Clean up rustdoc tests by removing unnecessary features
GuillaumeGomez Nov 25, 2020
1d587d8
Fix persisted doctests on Windows / when using workspaces
Swatinem Nov 25, 2020
b4668ec
Improved version check
richkadel Nov 25, 2020
f4d99d3
fixes a word typo in librustdoc
njasm Nov 25, 2020
29e8e72
Fix typos
bugadani Nov 25, 2020
b1df6c0
replace assert with condition and `fatal` error
richkadel Nov 25, 2020
d334f58
Update compiler/rustc_codegen_llvm/src/coverageinfo/mapgen.rs
richkadel Nov 25, 2020
46a750e
Fixup compiler docs
camelid Nov 25, 2020
c5c70d4
Fix docs formatting for `thir::pattern::_match`
camelid Nov 25, 2020
fdbc121
fix URLs in doc comment
richkadel Nov 25, 2020
5c68dd9
Rollup merge of #77758 - Stupremee:turbofish-help-for-const, r=varkor
jonas-schievink Nov 26, 2020
c19408c
Rollup merge of #79000 - sivadeilra:user/ardavis/lev_distance, r=wesl…
jonas-schievink Nov 26, 2020
90639fd
Rollup merge of #79329 - camelid:int-lit-suffix-error, r=davidtwco
jonas-schievink Nov 26, 2020
ec3cfbc
Rollup merge of #79362 - cjgillot:relou, r=oli-obk
jonas-schievink Nov 26, 2020
c0b0f66
Rollup merge of #79365 - richkadel:llvm-cov-map-version-4, r=wesleywiser
jonas-schievink Nov 26, 2020
7d090ad
Rollup merge of #79402 - bugadani:typos, r=matthewjasper
jonas-schievink Nov 26, 2020
c7ce067
Rollup merge of #79412 - GuillaumeGomez:cleanup-rustdoc-tests, r=jyn514
jonas-schievink Nov 26, 2020
7c65f83
Rollup merge of #79413 - Swatinem:rustdoc-persist-crate, r=GuillaumeG…
jonas-schievink Nov 26, 2020
af69ac2
Rollup merge of #79420 - njasm:patch_rustdoc, r=GuillaumeGomez
jonas-schievink Nov 26, 2020
674d8c3
Rollup merge of #79421 - camelid:_match-docs-fmt, r=petrochenkov
jonas-schievink Nov 26, 2020
bec2441
Rollup merge of #79428 - camelid:fixup-compiler-docs, r=davidtwco
jonas-schievink Nov 26, 2020
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion compiler/rustc_ast/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,6 @@ macro_rules! unwrap_or {
pub mod util {
pub mod classify;
pub mod comments;
pub mod lev_distance;
pub mod literal;
pub mod parser;
}
Expand Down
4 changes: 2 additions & 2 deletions compiler/rustc_ast_lowering/src/expr.rs
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,6 @@ impl<'hir> LoweringContext<'_, 'hir> {
let else_arm = self.arm(else_pat, else_expr);

// Handle then + scrutinee:
let then_expr = self.lower_block_expr(then);
let (then_pat, scrutinee, desugar) = match cond.kind {
// `<pat> => <then>`:
ExprKind::Let(ref pat, ref scrutinee) => {
Expand All @@ -375,6 +374,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
(pat, cond, hir::MatchSource::IfDesugar { contains_else_clause })
}
};
let then_expr = self.lower_block_expr(then);
let then_arm = self.arm(then_pat, self.arena.alloc(then_expr));

hir::ExprKind::Match(scrutinee, arena_vec![self; then_arm, else_arm], desugar)
Expand All @@ -400,7 +400,6 @@ impl<'hir> LoweringContext<'_, 'hir> {
};

// Handle then + scrutinee:
let then_expr = self.lower_block_expr(body);
let (then_pat, scrutinee, desugar, source) = match cond.kind {
ExprKind::Let(ref pat, ref scrutinee) => {
// to:
Expand Down Expand Up @@ -440,6 +439,7 @@ impl<'hir> LoweringContext<'_, 'hir> {
(pat, cond, hir::MatchSource::WhileDesugar, hir::LoopSource::While)
}
};
let then_expr = self.lower_block_expr(body);
let then_arm = self.arm(then_pat, self.arena.alloc(then_expr));

// `match <scrutinee> { ... }`
Expand Down
48 changes: 5 additions & 43 deletions compiler/rustc_ast_lowering/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -425,7 +425,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
/// declared for every type and trait definition.
struct MiscCollector<'tcx, 'lowering, 'hir> {
lctx: &'tcx mut LoweringContext<'lowering, 'hir>,
hir_id_owner: Option<NodeId>,
}

impl MiscCollector<'_, '_, '_> {
Expand All @@ -452,30 +451,9 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
}
}
}

fn with_hir_id_owner<T>(
&mut self,
owner: Option<NodeId>,
f: impl FnOnce(&mut Self) -> T,
) -> T {
let old = mem::replace(&mut self.hir_id_owner, owner);
let r = f(self);
self.hir_id_owner = old;
r
}
}

impl<'tcx> Visitor<'tcx> for MiscCollector<'tcx, '_, '_> {
fn visit_pat(&mut self, p: &'tcx Pat) {
if let PatKind::Paren(..) | PatKind::Rest = p.kind {
// Doesn't generate a HIR node
} else if let Some(owner) = self.hir_id_owner {
self.lctx.lower_node_id_with_owner(p.id, owner);
}

visit::walk_pat(self, p)
}

fn visit_item(&mut self, item: &'tcx Item) {
let hir_id = self.lctx.allocate_hir_id_counter(item.id);

Expand All @@ -499,24 +477,12 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
_ => {}
}

self.with_hir_id_owner(Some(item.id), |this| {
visit::walk_item(this, item);
});
visit::walk_item(self, item);
}

fn visit_assoc_item(&mut self, item: &'tcx AssocItem, ctxt: AssocCtxt) {
self.lctx.allocate_hir_id_counter(item.id);
let owner = match (&item.kind, ctxt) {
// Ignore patterns in trait methods without bodies.
(AssocItemKind::Fn(_, _, _, None), AssocCtxt::Trait) => None,
_ => Some(item.id),
};
self.with_hir_id_owner(owner, |this| visit::walk_assoc_item(this, item, ctxt));
}

fn visit_foreign_item(&mut self, i: &'tcx ForeignItem) {
// Ignore patterns in foreign items
self.with_hir_id_owner(None, |this| visit::walk_foreign_item(this, i));
visit::walk_assoc_item(self, item, ctxt);
}

fn visit_ty(&mut self, t: &'tcx Ty) {
Expand All @@ -527,18 +493,14 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
// Mirrors visit::walk_fn_decl
for parameter in &f.decl.inputs {
// We don't lower the ids of argument patterns
self.with_hir_id_owner(None, |this| {
this.visit_pat(&parameter.pat);
});
self.visit_pat(&parameter.pat);
self.visit_ty(&parameter.ty)
}
self.visit_fn_ret_ty(&f.decl.output)
}
TyKind::ImplTrait(def_node_id, _) => {
self.lctx.allocate_hir_id_counter(def_node_id);
self.with_hir_id_owner(Some(def_node_id), |this| {
visit::walk_ty(this, t);
});
visit::walk_ty(self, t);
}
_ => visit::walk_ty(self, t),
}
Expand All @@ -548,7 +510,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
self.lower_node_id(CRATE_NODE_ID);
debug_assert!(self.node_id_to_hir_id[CRATE_NODE_ID] == Some(hir::CRATE_HIR_ID));

visit::walk_crate(&mut MiscCollector { lctx: &mut self, hir_id_owner: None }, c);
visit::walk_crate(&mut MiscCollector { lctx: &mut self }, c);
visit::walk_crate(&mut item::ItemLowerer { lctx: &mut self }, c);

let module = self.lower_mod(&c.module);
Expand Down
Loading