summary refs log tree commit diff
path: root/src/librustc_resolve/lib.rs
AgeCommit message (Collapse)AuthorLines
2018-10-18resolve: Do not skip extern prelude during speculative resolutionVadim Petrochenkov-3/+9
2018-10-18resolve: Scale back hard-coded extern prelude additionsVadim Petrochenkov-7/+9
2018-10-18Copy extern prelude from resolver to global contextVadim Petrochenkov-1/+1
2018-10-18Revert "rustc_resolve: move extern_prelude from Resolver to Session."Vadim Petrochenkov-3/+17
This reverts commit e90985acdec9928da9f6d157cfeb64f0ee98bffe.
2018-10-07Revert "Auto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakis"Ariel Ben-Yehuda-0/+1
This reverts commit 6810f5286b6b91daab06fc3dccb27d8c46f14349, reversing changes made to 8586ec6980462c99a8926646201b2444d8938d29.
2018-10-04resolve: Prefer `macro_rules` definitions to in-module macro definitions in ↵Vadim Petrochenkov-3/+40
some cases
2018-10-02rustc_resolve: move extern_prelude from Resolver to Session.Eduard-Mihai Burtescu-17/+3
2018-09-21Stabilize crate_in_paths, extern_absolute_paths and extern_prelude on all ↵Eduard-Mihai Burtescu-20/+1
editions.
2018-09-16resolve: Do not error on access to proc macros imported with `#[macro_use]`Vadim Petrochenkov-8/+0
2018-09-15rustc_resolve: always include core, std and meta in the extern prelude.Eduard-Mihai Burtescu-23/+28
2018-09-14Auto merge of #53751 - F001:tuple-struct-self-ctor, r=petrochenkov,varkorbors-68/+89
Implement RFC 2302: tuple_struct_self_ctor Tracking issue: https://github.com/rust-lang/rust/issues/51994
2018-09-13introduce SelfCtorF001-100/+71
2018-09-13implement feature tuple_struct_self_ctorF001-13/+63
2018-09-13resolve: Put different parent scopes into a single structureVadim Petrochenkov-10/+11
2018-09-12Auto merge of #53793 - toidiu:ak-stabalize, r=nikomatsakisbors-1/+0
stabilize outlives requirements https://github.com/rust-lang/rust/issues/44493 r? @nikomatsakis
2018-09-11stabalize infer outlives requirements (RFC 2093).toidiu-1/+0
Co-authored-by: nikomatsakis
2018-09-11resolve: Skip bang macros when resolving potentially built-in attributesVadim Petrochenkov-2/+3
2018-09-11resolve: Future proof resolutions for potentially built-in attributesVadim Petrochenkov-0/+2
2018-09-11resolve: Support resolving identifier macros without their own IDVadim Petrochenkov-12/+11
Invocation/expansion ID (aka `Mark`) is not really necessary for resolving a macro path. What is really necessary is its parent module, parent expansion and parent legacy scope. This is required for validation resolutions of built-in attributes, which don't get their own `Mark`s
2018-09-10Auto merge of #53565 - PramodBisht:issue/53359_b, r=estebankbors-13/+0
#53359: putting multiple unresolved import on single line r? @estebank Here is WIP implementation of #53359 this PR have clubbed multiple unresolved imports into a single line. I think still two things need to improve like giving specific `label message` for each span of multi_span(how we can do this?) and second we are getting a warning while compiling, stating something like `E0432` have been passed before.
2018-09-10resolve: Remove `unshadowable_attrs`Vadim Petrochenkov-2/+0
2018-09-10resolve: Split macro prelude into built-in and user-defined partsVadim Petrochenkov-6/+17
2018-09-09Auto merge of #53778 - petrochenkov:shadrelax2, r=nikomatsakisbors-57/+62
resolve: Relax shadowing restrictions on macro-expanded macros Previously any macro-expanded macros weren't allowed to shadow macros from outer scopes. Now only "more macro-expanded" macros cannot shadow "less macro-expanded" macros. See comments to `fn may_appear_after` and added tests for more details and examples. The functional changes are a21f6f588fc28c97533130ae44a6957b579ab58c and 46dd365ce9ca0a6b8653849b80267763c542842a, other commits are refactorings.
2018-09-09Auto merge of #53960 - estebank:issue-51303, r=nagisabors-5/+18
Fix incorrect outer function type parameter message Fix #51303.
2018-09-08Fixed 53359: E0432 unresolved import on the same line is now emiting one ↵Pramod Bisht-13/+0
diagnostic Addressed estebank's comments for 53359
2018-09-08resolve: More precise spans for ambiguous resolution errorsVadim Petrochenkov-17/+15
Add labels to ambiguous resolution errors
2018-09-08Add checks for expected macro output in restricted shadowing testsVadim Petrochenkov-0/+2
2018-09-08resolve: Relax shadowing restriction on macro-expanded macrosVadim Petrochenkov-3/+12
... for both legacy and modern macros. Fix previously introduced regressions, add tests.
2018-09-08resolve: Introduce "may appear after" abstraction for macro path resolutionsVadim Petrochenkov-2/+26
2018-09-08resolve: Model `resolve_legacy_scope` after `resolve_lexical_macro_path_segment`Vadim Petrochenkov-18/+0
2018-09-08resolve: Partially unify bindings from macro_rules and from other itemsVadim Petrochenkov-28/+18
2018-09-05reword label as per reviewEsteban Küber-1/+1
2018-09-05slight rewording of labelsEsteban Küber-13/+19
2018-09-05Fix incorrect outer function type parameter messageEsteban Küber-1/+8
2018-09-04Fix #[test] shadowing in macro_preludeJohn Renner-0/+2
2018-09-01Auto merge of #53815 - F001:if-let-guard, r=petrochenkovbors-1/+4
refactor match guard This is the first step to implement RFC 2294: if-let-guard. Tracking issue: https://github.com/rust-lang/rust/issues/51114 The second step should be introducing another variant `IfLet` in the Guard enum. I separated them into 2 PRs for the convenience of reviewers. r? @petrochenkov
2018-08-30Rollup merge of #53655 - jcpst:with_applicability, r=estebankPietro Albini-21/+41
set applicability Update a few more calls as described in #50723 r? @estebank
2018-08-30introduce Guard enumF001-1/+4
2018-08-27Auto merge of #51456 - qmx:crate-in-path, r=nikomatsakisbors-22/+66
resolve suggestions should use `crate::` when enabled I couldn't find a way to add a specific assertion for the ui test, so the expected output is living under the `crates-in-path.stderr` ui test. - is this the right place for the test? fixes #51212
2018-08-27Auto merge of #53441 - toidiu:ak-fix53419, r=nikomatsakisbors-0/+1
fix for late-bound regions Fix for https://github.com/rust-lang/rust/issues/53419 r? @nikomatsakis
2018-08-27no need to special case stdDouglas Campos-8/+4
2018-08-25call span_suggestion with applicabilityJoseph Post-21/+41
2018-08-24check that adding infer-outlives requirement to all crates worksNiko Matsakis-0/+1
2018-08-24Turn the error for module-relative access to macro-expanded `macro_export` ↵Vadim Petrochenkov-3/+6
macros into a deprecation lint
2018-08-22Replace TyForeign with ForeignTyvarkor-1/+1
2018-08-22Rename Def::{Param, Foreign} to Def::{TyParam, TyForeign}varkor-6/+6
2018-08-22Remove Ty prefix from Ty{Bool|Char|Int|Uint|Float|Str}varkor-19/+19
2018-08-22Remove Ty prefix from Ty{Foreign|Param}varkor-6/+6
2018-08-22Auto merge of #53516 - petrochenkov:derregr, r=estebankbors-11/+12
resolve: Continue search in outer scopes after applying derive resolution fallback Fixes https://github.com/rust-lang/rust/issues/53263
2018-08-21Auto merge of #53471 - petrochenkov:biattr2, r=oli-obkbors-27/+48
resolve: Some macro resolution refactoring Work towards completing https://github.com/rust-lang/rust/pull/50911#issuecomment-411605393 The last commit also fixes https://github.com/rust-lang/rust/issues/53269 by not using `def_id()` on `Def::Err` and also fixes https://github.com/rust-lang/rust/issues/53512.