summary refs log tree commit diff
path: root/src/librustc/front
AgeCommit message (Collapse)AuthorLines
2015-12-07Remove some unnecessary indirection from HIR structuresVadim Petrochenkov-4/+4
2015-11-26split the metadata code into rustc_metadataAriel Ben-Yehuda-3/+3
tests & rustdoc still broken
2015-11-20Add E0517, E0518 for repr() errorsManish Goregaokar-15/+14
2015-11-18Port the `map` construction code to use the new visitor.Niko Matsakis-20/+34
2015-11-16rename `ast::ImplItem_::*ImplItem` to `ast::ImplItemKind::*`Oliver Schneider-1/+1
2015-11-16ImplItem_ -> ImplItemKind renameOliver Schneider-6/+6
2015-11-16rename ImplItem_::*ImplItem to ImplItem_::*Oliver Schneider-8/+7
[breaking change]
2015-11-13simplify HIR folder so that it only maps 1 item to 1 item,Niko Matsakis-3/+3
removing a bunch of asserts
2015-10-27Auto merge of #29327 - sanxiyn:argument, r=nrcbors-27/+22
Fix #24114.
2015-10-27Remove NodeArgSeo Sanghyeon-27/+1
2015-10-27Distinguish argument from local variableSeo Sanghyeon-0/+21
2015-10-25syntax/rustc_front: Simplify VariantData::fieldsVadim Petrochenkov-1/+1
And use VariantData instead of P<VariantData> in Item_ and Variant_
2015-10-14Rollup merge of #29006 - arielb1:callee-outlives-call, r=pnkfelixManish Goregaokar-1/+4
This rather crucial requirement was not checked. In most cases, that didn't cause any trouble because the argument types are required to outlive the call and are subtypes of a subformula of the callee type. However, binary ops are taken by ref only indirectly, without it being marked in the argument types, which led to the argument types not being constrained anywhere causing spurious errors (as these are basically unconstrainable, I don't think this change can break code). Of course, the old way was also incorrent with contravariance, but that is still unsound for other reasons. This also improves rustc::front to get RUST_LOG to *somewhat* work. Fixes #28999. That issue is one of the several regression introduced by #28669. r? @pnkfelix
2015-10-13Merge VariantData and VariantData_Vadim Petrochenkov-2/+2
2015-10-13Merge struct fields and struct kindVadim Petrochenkov-6/+7
2015-10-13Dict -> Struct, StructDef -> VariantData, def -> dataVadim Petrochenkov-8/+8
2015-10-13Remove now redundant NodeId from VariantVadim Petrochenkov-1/+1
2015-10-13Decouple structure kinds from NodeIdsVadim Petrochenkov-4/+4
2015-10-13Unify structures and enum variants in HIRVadim Petrochenkov-19/+8
2015-10-12require a method callee's type to outlive the callAriel Ben-Yehuda-1/+4
This rather crucial requirement was not checked. In most cases, that didn't cause any trouble because the argument types are required to outlive the call and are subtypes of a subformula of the callee type. However, binary ops are taken by ref only indirectly, without it being marked in the argument types, which led to the argument types not being constrained anywhere causing spurious errors (as these are basically unconstrainable, I don't think this change can break code). Of course, the old way was also incorrent with contravariance, but that is still unsound for other reasons. This also improves rustc::front to get RUST_LOG to *somewhat* work. Fixes #28999
2015-10-08typos: fix a grabbag of typos all over the placeCristi Cobzarenco-1/+1
2015-10-03Check attribute usageSeo Sanghyeon-0/+110
2015-10-01remove support method for synthetic default method idsNiko Matsakis-16/+0
2015-10-01Convert DefId to use DefIndex, which is an index into a list ofNiko Matsakis-78/+416
paths, and construct paths for all definitions. Also, stop rewriting DefIds for closures, and instead just load the closure data from the original def-id, which may be in another crate.
2015-10-01stop updating `parent_node_id` when there is no corresponding map entryNiko Matsakis-6/+1
2015-10-01build up a set of node-ids that we can construct def-ids fromNiko Matsakis-214/+336
2015-10-01move direct accesses of `node` to go through `as_local_node_id`, unlessNiko Matsakis-3/+11
they are being used as an opaque "position identifier"
2015-10-01move job of creating local-def-ids to ast-map (with a few stragglers)Niko Matsakis-1/+15
2015-09-29Fill in some missing parts in the default HIR visitorVadim Petrochenkov-2/+2
2015-09-22Use Names in the remaining HIR structures with exception of...Vadim Petrochenkov-2/+2
PathSegment, PatIdent, ExprWhile, ExprLoop, ExprBreak and ExprAgain - they need Idents for resolve
2015-09-22Use Names in HIR ItemsVadim Petrochenkov-28/+28
2015-09-22Use Names in HIR visitors and foldersVadim Petrochenkov-3/+3
2015-09-16Use ast attributes every where (remove HIR attributes).Nick Cameron-2/+2
This could be a [breaking-change] if your lint or syntax extension (is that even possible?) uses HIR attributes or literals.
2015-09-03Add an intital HIR and lowering stepNick Cameron-0/+1391
2014-09-17move feature_gate to libsyntaxNick Cameron-465/+0
2014-09-17move std_inject to libsyntaxNick Cameron-237/+0
2014-09-17move most of front to libsyntaxNick Cameron-861/+0
2014-09-16Fallout from renamingAaron Turon-19/+19
2014-09-14rustc: fix fallout from using ptr::P.Eduard Burtescu-241/+210
2014-09-12Track the visited AST's lifetime throughout Visitor.Eduard Burtescu-7/+7
2014-09-12Remove largely unused context from Visitor.Eduard Burtescu-28/+27
2014-09-11auto merge of #17142 : sfackler/rust/issue-17115, r=alexcrichtonbors-0/+4
Closes #17115
2014-09-09Don't ICE on macros with -Z show-spanSteven Fackler-0/+4
Closes #17115
2014-09-10Implement tuple and tuple struct indexingP1start-0/+6
This allows code to access the fields of tuples and tuple structs: let x = (1i, 2i); assert_eq!(x.1, 2); struct Point(int, int); let origin = Point(0, 0); assert_eq!(origin.0, 0); assert_eq!(origin.1, 0);
2014-09-09rollup merge of #17052 : pcwalton/feature-gate-subslicesAlex Crichton-0/+15
2014-09-08quote: Explicitly borrow the ExtCtxtKeegan McAllister-5/+4
Fixes #16992.
2014-09-08librustc: Feature gate subslice matching in non-tail positions.Patrick Walton-0/+15
This breaks code that uses the `..xs` form anywhere but at the end of a slice. For example: match foo { [ 1, ..xs, 2 ] [ ..xs, 1, 2 ] } Add the `#![feature(advanced_slice_patterns)]` gate to reenable the syntax. RFC #54. Closes #16951. [breaking-change]
2014-09-04auto merge of #16923 : wickerwaka/rust/crate-as-fixup, r=alexcrichtonbors-1/+1
Changed occurances of: extern crate foo = "bar"; to: extern crate "bar" as foo; Added warning for old deprecated syntax
2014-09-03auto merge of #16892 : andrew-d/rust/andrew-fix-test-reexports, r=sfacklerbors-13/+32
Fixes #16597 I'm not 100% sure this is the correct way to handle this - but I wasn't able to find a better way without doing way more refactoring of the code that I was comfortable with. Comments and criticism are appreciated :smile:
2014-09-01Updated to new extern crate syntax.wickerwaka-1/+1
Added warning for old deprecated syntax