summary refs log tree commit diff
path: root/src/librustc_front
AgeCommit message (Collapse)AuthorLines
2016-02-21rustbuild: Sync some Cargo.toml/lib.rs dependenciesAlex Crichton-0/+1
The standard library doesn't depend on rustc_bitflags, so move it to explicit dependencies on all other crates. Additionally, the arena/fmt_macros deps could be dropped from libsyntax.
2016-02-16Split PatKind::Enum into PatKind::TupleStruct and PatKind::PathVadim Petrochenkov-25/+43
2016-02-14Rename hir::Pat_ and its variantsVadim Petrochenkov-88/+87
2016-02-13Split ast::PatKind::Enum into tuple struct and path patternsVadim Petrochenkov-1/+4
2016-02-13Rename ast::Pat_ and its variantsVadim Petrochenkov-12/+14
2016-02-12Make more use of autoderef in librustc_frontJonas Schievink-109/+108
2016-02-11bootstrap: Add a bunch of Cargo.toml filesAlex Crichton-0/+14
These describe the structure of all our crate dependencies.
2016-02-11[breaking-change] don't glob export ast::PathListItem_ variantsOliver 'ker' Schneider-18/+18
2016-02-11[breaking-change] don't glob export ast::StrStyle variantsOliver 'ker' Schneider-6/+6
2016-02-11[breaking-change] don't glob export ast::Visibility variantsOliver 'ker' Schneider-2/+2
2016-02-11[breaking-change] don't glob export ast::TraitItemKind variantsOliver 'ker' Schneider-3/+3
2016-02-11[breaking-change] don't glob export ast::Mutablity variantsOliver 'ker' Schneider-2/+2
2016-02-11[breaking-change] don't glob export ast::MetaItem_Oliver 'ker' Schneider-5/+5
2016-02-11[breaking-change] don't glob export ast::Item_ variantsOliver 'ker' Schneider-16/+16
2016-02-11[breaking-change] don't glob export ast::ForeignItem_ variantsOliver 'ker' Schneider-2/+2
2016-02-11[breaking-change] don't pub export ast::Stmt_ variantsOliver Schneider-4/+4
2016-02-11[breaking-change] don't pub export ast::Ty_ variantsOliver Schneider-13/+14
2016-02-11[breaking-change] don't glob export ast::Expr_ variantsOliver Schneider-37/+37
2016-02-11[breaking-change] don't glob export ast::ExplicitSelf_ variantsOliver Schneider-5/+5
2016-02-11[breaking-change] don't glob export ast::Decl_ variantsOliver Schneider-2/+2
2016-02-11[breaking-change] don't glob export ast::CaptureClause variantsOliver Schneider-3/+3
2016-02-11[breaking-change] don't glob import/export syntax::abi enum variantsOliver Schneider-10/+10
2016-02-11[breaking-change] don't glob export ast::BlockCheckMode variantsOliver Schneider-2/+2
2016-02-11[breaking-change] don't glob import ast::FunctionRetTy variantsOliver Schneider-3/+3
2016-02-11[breaking-change] don't glob export ast::BinOp_Oliver Schneider-18/+18
2016-02-11[breaking-change] don't glob export ast::UnOp variantsOliver Schneider-3/+3
2016-01-26Auto merge of #31120 - alexcrichton:attribute-deny-warnings, r=brsonbors-2/+3
This commit removes the `-D warnings` flag being passed through the makefiles to all crates to instead be a crate attribute. We want these attributes always applied for all our standard builds, and this is more amenable to Cargo-based builds as well. Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)` attribute currently to match the same semantics we have today
2016-01-25Fix pretty_printer to print omitted type `_` markernxnfufunezn-7/+8
2016-01-24mk: Move from `-D warnings` to `#![deny(warnings)]`Alex Crichton-2/+3
This commit removes the `-D warnings` flag being passed through the makefiles to all crates to instead be a crate attribute. We want these attributes always applied for all our standard builds, and this is more amenable to Cargo-based builds as well. Note that all `deny(warnings)` attributes are gated with a `cfg(stage0)` attribute currently to match the same semantics we have today
2016-01-20Fix a bug with caching ids in the HIR lowering with nested lowered nodesNick Cameron-52/+61
Blocks #30884
2015-12-22Stop re-exporting PathParameters's variants.Ms2ger-2/+2
2015-12-21Auto merge of #30352 - alexcrichton:new-snashots, r=nikomatsakisbors-3/+0
Lots of cruft to remove!
2015-12-21Auto merge of #30460 - Ms2ger:BindingMode, r=alexcrichtonbors-2/+2
2015-12-21Register new snapshotsAlex Crichton-3/+0
Lots of cruft to remove!
2015-12-20Auto merge of #30470 - petrochenkov:owned5, r=nrcbors-22/+22
cc https://github.com/rust-lang/rust/pull/30095 r? @nrc
2015-12-20Stop re-exporting the ast::BindingMode variants.Ms2ger-2/+2
2015-12-19Auto merge of #30184 - petrochenkov:ascr, r=nikomatsakisbors-2/+16
This PR is a rebase of the original PR by @eddyb https://github.com/rust-lang/rust/pull/21836 with some unrebasable parts manually reapplied, feature gate added + type equality restriction added as described below. This implementation is partial because the type equality restriction is applied to all type ascription expressions and not only those in lvalue contexts. Thus, all difficulties with detection of these contexts and translation of coercions having effect in runtime are avoided. So, you can't write things with coercions like `let slice = &[1, 2, 3]: &[u8];`. It obviously makes type ascription less useful than it should be, but it's still much more useful than not having type ascription at all. In particular, things like `let v = something.iter().collect(): Vec<_>;` and `let u = t.into(): U;` work as expected and I'm pretty happy with these improvements alone. Part of https://github.com/rust-lang/rust/issues/23416
2015-12-19Improve OwnedSlice and use it in HIRVadim Petrochenkov-22/+22
2015-12-18Auto merge of #30374 - durka:issue-30371, r=alexcrichtonbors-2/+3
Fixes #30371.
2015-12-18Rollup merge of #30420 - petrochenkov:owned2, r=nrcManish Goregaokar-163/+183
Part of https://github.com/rust-lang/rust/pull/30095 not causing mysterious segfaults. r? @nrc
2015-12-18Abstract away differences between Vec and ptr::P in HIRVadim Petrochenkov-132/+157
2015-12-18Deprecate name `OwnedSlice` and don't use itVadim Petrochenkov-31/+26
2015-12-17move error handling from libsyntax/diagnostics.rs to libsyntax/errors/*Nick Cameron-3/+3
Also split out emitters into their own module.
2015-12-16Add ExprType to HIR and make everything compileVadim Petrochenkov-2/+16
+ Apply parser changes manually + Add feature gate
2015-12-14evade unused_variables lint in for-loop desugaringAlex Burka-2/+3
2015-12-14Auto merge of #29735 - Amanieu:asm_indirect_constraint, r=pnkfelixbors-11/+31
This PR reverts #29543 and instead implements proper support for "=*m" and "+*m" indirect output operands. This provides a framework on top of which support for plain memory operands ("m", "=m" and "+m") can be implemented. This also fixes the liveness analysis pass not handling read/write operands correctly.
2015-12-10adjust documentation to mention `intravisit` instead of `visit`Oliver Schneider-2/+2
2015-12-09Auto merge of #30145 - petrochenkov:hyg, r=nrcbors-35/+128
Instead of `ast::Ident`, bindings, paths and labels in HIR now keep a new structure called `hir::Ident` containing mtwt-renamed `name` and the original not-renamed `unhygienic_name`. `name` is supposed to be used by default, `unhygienic_name` is rarely used. This is not ideal, but better than the status quo for two reasons: - MTWT tables can be cleared immediately after lowering to HIR - This is less bug-prone, because it is impossible now to forget applying `mtwt::resolve` to a name. It is still possible to use `name` instead of `unhygienic_name` by mistake, but `unhygienic_name`s are used only in few very special circumstances, so it shouldn't be a problem. Besides name resolution `unhygienic_name` is used in some lints and debuginfo. `unhygienic_name` can be very well approximated by "reverse renaming" `token::intern(name.as_str())` or even plain string `name.as_str()`, except that it would break gensyms like `iter` in desugared `for` loops. This approximation is likely good enough for lints and debuginfo, but not for name resolution, unfortunately (see https://github.com/rust-lang/rust/issues/27639), so `unhygienic_name` has to be kept. cc https://github.com/rust-lang/rust/issues/29782 r? @nrc
2015-12-07Add comments for Ident::from_name and identifiers in path segmentsVadim Petrochenkov-0/+14
2015-12-07Remove some unnecessary indirection from HIR structuresVadim Petrochenkov-150/+137