about summary refs log tree commit diff
path: root/src/librustc/ich
AgeCommit message (Collapse)AuthorLines
2019-04-23Add rustc_allow_const_fn_ptrTaylor Cramer-0/+1
2019-04-22Remove double trailing newlinesvarkor-2/+0
2019-04-03Deny internal lints in librustcflip1995-5/+3
2019-03-16Refactor away `NestedMetaItemKind`Vadim Petrochenkov-3/+1
Remove methods `Attribute::span` and `MetaItem::span` duplicating public fields
2019-03-16Rename `MetaItem::ident` to `MetaItem::path`Vadim Petrochenkov-1/+1
2019-03-16syntax: Do not accidentally treat multi-segment meta-items as single-segmentVadim Petrochenkov-2/+3
2019-03-13Use derive macro for HashStableJohn Kåre Alsaker-2371/+0
2019-03-10Make the rustc driver and interface demand drivenJohn Kåre Alsaker-5/+0
2019-03-08Auto merge of #58915 - ljedrz:deprecate_nodeid_methods, r=Zoxcbors-2/+1
HirIdification: almost there The next iteration of HirIdification (#57578). Replaces a bunch of `NodeId` method calls (mostly `as_local_node_id`) with `HirId` ones. Removes `NodeId` from: - [x] `PathSegment` - [x] `PatKind` - [x] `Destination` (replaces it with `HirId`) In addition this PR also removes `Visitor::visit_def_mention`, which doesn't seem to be doing anything.
2019-03-08Auto merge of #58013 - Zoxc:stable-hash-macro-simple, r=oli-obkbors-6/+0
Create a derive macro for HashStable and allow proc macros in rustc A combination of https://github.com/rust-lang/rust/pull/56864 and https://github.com/rust-lang/rust/pull/56795. There were complications with using `serde_derive` as rustc doesn't know which crate to use for the host when there is a serde_derive in the sysroot and cargo passes another on the command line built from crates.io. r? @eddyb (for proc macro changes) @alexcrichton (for rustbuild changes) @michaelwoerister (for the macro itself)
2019-03-07hir: remove NodeId from PatKindljedrz-1/+1
2019-03-07hir: remove NodeId from PathSegmentljedrz-1/+0
2019-03-05Implement Hash for new typesvarkor-0/+27
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-03-05Create a derive macro for HashStableJohn Kåre Alsaker-6/+0
2019-03-03Auto merge of #58673 - matthewjasper:typeck-ptr-coercions, r=pnkfelixbors-0/+1
[NLL] Type check operations with pointer types It seems these were forgotten about. Moving to `Rvalue::AddressOf` simplifies the coercions from references, but I want this to be fixed as soon as possible. r? @pnkfelix
2019-03-02hir: HirIdify Impl&TraitItemIdljedrz-4/+4
2019-03-02hir: remove NodeId from VariantDataljedrz-3/+3
2019-03-02hir: remove NodeId from Pat and FieldPatljedrz-2/+0
2019-03-02hir: remove NodeId from Itemljedrz-1/+0
2019-03-02hir: remove NodeId from ForeignItemljedrz-1/+0
2019-03-02hir: remove NodeId from StructFieldljedrz-1/+0
2019-03-01Auto merge of #58754 - ljedrz:I_hate_NodeIds, r=Zoxcbors-12/+2
Remove NodeId from more HIR nodes The next iteration of HirIdification (#57578). Removes `NodeId` from: - [x] `Stmt` - [x] `Local` - [x] `Field` - [x] `AnonConst` - [x] `TraitItem` - [x] `ImplItem` - [x] `TypeBinding` - [x] `Arg` - [x] `TraitRef` - [x] `VisibilityKind` It will most probably break clippy again; I'd appreciate a **delegate** again if/when it is good to go so I can attach a clippy fix later. r? @Zoxc
2019-03-01hir: remove NodeId from VisibilityKindljedrz-2/+1
2019-03-01hir: remove NodeId from TraitRefljedrz-2/+1
2019-03-01hir: remove NodeId from Argljedrz-1/+0
2019-03-01hir: remove NodeId from TypeBindingljedrz-1/+0
2019-03-01hir: remove NodeId from ImplItemljedrz-1/+0
2019-03-01hir: remove NodeId from TraitItemljedrz-1/+0
2019-03-01hir: remove NodeId from AnonConstljedrz-1/+0
2019-03-01hir: remove NodeId from Fieldljedrz-1/+0
2019-03-01hir: remove NodeId from Localljedrz-1/+0
2019-03-01hir: remove NodeId from Stmtljedrz-1/+0
2019-03-01Put Local, Static and Promoted as one Base variant of PlaceSantiago Pastorino-3/+3
2019-02-27Rename variadic to c_variadicDan Robertson-2/+2
Function signatures with the `variadic` member set are actually C-variadic functions. Make this a little more explicit by renaming the `variadic` boolean value, `c_variadic`.
2019-02-27Support defining C compatible variadic functionsDan Robertson-1/+2
Add support for defining C compatible variadic functions in unsafe rust with extern "C".
2019-02-26Auto merge of #58561 - ljedrz:HirIdify_some_nodes, r=Zoxcbors-8/+0
Remove NodeId from some HIR nodes The next iteration of https://github.com/rust-lang/rust/pull/57578. Removes `NodeId` from: - [x] `Lifetime` - [x] `Ty` - [x] `GenericParam` - [x] `WhereClause` - [x] `WhereEqPredicate` - [x] `MacroDef` - [x] `Block` - [x] `Expr` r? @Zoxc
2019-02-25Auto merge of #57609 - matthewjasper:more-restrictive-match, r=pnkfelixbors-1/+6
Use normal mutable borrows in matches `ref mut` borrows are currently two-phase with NLL enabled. This changes them to be proper mutable borrows. To accommodate this, first the position of fake borrows is changed: ```text [ 1. Pre-match ] | [ (old create fake borrows) ] [ 2. Discriminant testing -- check discriminants ] <-+ | | | (once a specific arm is chosen) | | | [ (old read fake borrows) ] | [ 3. Create "guard bindings" for arm ] | [ (create fake borrows) ] | | | [ 4. Execute guard code ] | [ (read fake borrows) ] --(guard is false)-----------+ | | (guard results in true) | [ 5. Create real bindings and execute arm ] | [ Exit match ] ``` The following additional changes are made to accommodate `ref mut` bindings: * We no longer create fake `Shared` borrows. These borrows are no longer needed for soundness, just to avoid some arguably strange cases. * `Shallow` borrows no longer conflict with existing borrows, avoiding conflicting access between the guard borrow access and the `ref mut` borrow. There is some further clean up done in this PR: * Avoid the "later used here" note for Shallow borrows (since it's not relevant with the message provided) * Make any use of a two-phase borrow activate it. * Simplify the cleanup_post_borrowck passes into a single pass. cc #56254 r? @nikomatsakis
2019-02-24hir: remove NodeId from Exprljedrz-1/+0
2019-02-24hir: remove NodeId from Blockljedrz-1/+0
2019-02-24hir: remove NodeId from MacroDefljedrz-1/+0
2019-02-24hir: remove NodeId from WhereEqPredicateljedrz-1/+0
2019-02-24hir: remove NodeId from WhereClauseljedrz-1/+0
2019-02-24hir: remove NodeId from GenericParamljedrz-1/+0
2019-02-24hir: remove NodeId from Lifetime and Tyljedrz-2/+0
2019-02-24Rollup merge of #58511 - oli-obk:const_to_op, r=RalfJungMazdak Farrokhzad-1/+1
Const to op simplification r? @RalfJung alternative to https://github.com/rust-lang/rust/pull/58486
2019-02-23Type check coercions to pointer typesMatthew Jasper-0/+1
2019-02-21Use normal mutable borrows in MIR match loweringMatthew Jasper-1/+6
2019-02-19Auto merge of #57896 - oli-obk:permissive_existence, r=cramertjbors-0/+5
Be more permissive with required bounds on existential types fixes #54184 r? @pnkfelix
2019-02-19Auto merge of #58503 - varkor:const-generics-hir, r=petrochenkovbors-1/+10
Add const generics to the HIR Split out from https://github.com/rust-lang/rust/pull/53645. cc @yodaldevoid r? @eddyb
2019-02-16Reuse the `Pointer` type instead of passing reassembling it at many use sitesOliver Scherer-1/+1