Oliver Schneider
dd87eabd83
Remove need for &format!(...) or &&"" dances in span_label
calls
2017-05-08 12:56:15 +02:00
Oliver Schneider
eb447f4ef4
Fix various useless derefs and slicings
2017-03-27 08:58:00 +02:00
Jeffrey Seyfried
68c1cc68b4
Refactor Attribute
to use Path
and TokenStream
instead of MetaItem
.
2017-03-14 04:03:43 +00:00
Esteban Küber
ac2bc7c570
Point to enclosing block/fn on nested unsafe
...
When declaring nested unsafe blocks (`unsafe {unsafe {}}`) that trigger
the "unnecessary `unsafe` block" error, point out the enclosing `unsafe
block` or `unsafe fn` that makes it unnecessary.
2017-03-10 07:53:08 -08:00
Andrew Cann
2cc84df44c
Add warning for () to ! switch
2017-02-03 18:48:15 +08:00
Eduard-Mihai Burtescu
45c8c5678a
rustc: rename TyCtxt's map
field to hir
.
2017-01-26 13:41:28 +02:00
Eduard-Mihai Burtescu
85a4a192c7
rustc: keep track of tables everywhere as if they were per-body.
2017-01-06 22:23:29 +02:00
Eduard-Mihai Burtescu
f89856be6c
rustc: move function arguments into hir::Body.
2016-12-28 11:29:19 +02:00
Eduard-Mihai Burtescu
e64f64a2fc
rustc: separate bodies for static/(associated)const and embedded constants.
2016-12-28 11:27:57 +02:00
Oliver Schneider
0f7a18b85d
remove useless lifetimes on LateLintPass impl methods
2016-12-07 13:56:36 +01:00
Oliver Schneider
5beeb1eec7
remove useless lifetime outlives bounds
2016-12-07 13:14:47 +01:00
Oliver Schneider
5e51edb0de
annotate stricter lifetimes on LateLintPass methods to allow them to forward to a Visitor
2016-12-06 11:28:51 +01:00
Eduard-Mihai Burtescu
962633cdbb
rustc: embed path resolutions into the HIR instead of keeping DefMap.
2016-11-28 04:18:10 +02:00
Eduard-Mihai Burtescu
bc096549e8
rustc: desugar use a::{b,c};
into use a::b; use a::c;
in HIR.
2016-11-28 04:18:10 +02:00
Eduard Burtescu
16b5c2cfef
rustc: desugar UFCS as much as possible during HIR lowering.
2016-11-28 04:18:10 +02:00
Jeffrey Seyfried
e85a0d70b8
Use Symbol
instead of InternedString
in the AST, HIR, and various other places.
2016-11-21 09:00:55 +00:00
Jeffrey Seyfried
d2f8fb0a0a
Move syntax::util::interner
-> syntax::symbol
, cleanup.
2016-11-20 23:40:20 +00:00
Jeffrey Seyfried
a2626410d7
Refactor MetaItemKind
to use Name
s instead of InternedString
s.
2016-11-20 11:46:06 +00:00
Jeffrey Seyfried
3ea2bc4e93
Refactor away ast::Attribute_
.
2016-11-20 11:46:00 +00:00
Eduard Burtescu
ff0830d749
rustc: use an Expr instead of a Block for function bodies.
2016-11-10 01:44:45 +02:00
Eduard-Mihai Burtescu
5ebd7c50a0
Rollup merge of #37614 - keeperofdakeys:proc_macro, r=jseyfried
...
macros 1.1: Allow proc_macro functions to declare attributes to be mark as used
This PR allows proc macro functions to declare attribute names that should be marked as used when attached to the deriving item. There are a few questions for this PR.
- Currently this uses a separate attribute named `#[proc_macro_attributes(..)]`, is this the best choice?
- In order to make this work, the `check_attribute` function had to be modified to not error on attributes marked as used. This is a pretty large change in semantics, is there a better way to do this?
- I've got a few clones where I don't know if I need them (like turning `item` into a `TokenStream`), can these be avoided?
- Is switching to `MultiItemDecorator` the right thing here?
Also fixes https://github.com/rust-lang/rust/issues/37563 .
2016-11-09 20:51:18 +02:00
Nicholas Nethercote
00e48affde
Replace FnvHasher use with FxHasher.
...
This speeds up compilation by 3--6% across most of rustc-benchmarks.
2016-11-08 15:14:59 +11:00
Josh Driver
d377cf5b3f
Rename KNOWN_ATTRS to BUILT_ATTRS, and create KNOWN_ATTRS
...
KNOWN_ATTRIBUTES should really be named BUILT_ATTRIBUTES,
while KNOWN_ATTRIBUTES should be used to mark attributes
as known, similar to USED_ATTRIBUTES.
2016-11-08 08:30:26 +10:30
Eduard Burtescu
0d7201ef46
rustc: record the target type of every adjustment.
2016-11-02 04:00:02 +02:00
Eduard Burtescu
6a8d131e5d
rustc: make all read access to tcx.tables go through a method.
2016-11-02 03:50:32 +02:00
Srinivas Reddy Thatiparthy
bf5dfacdde
run rustfmt on librustc_lint folder
2016-10-09 09:38:07 +05:30
Vadim Petrochenkov
f2b672d556
Refactor TyStruct
/TyEnum
/TyUnion
into TyAdt
2016-09-08 22:17:53 +03:00
Vadim Petrochenkov
e05e74ac83
Replace _, _
with ..
2016-09-04 12:30:33 +03:00
Vadim Petrochenkov
641d8e9e4c
Some better support for unions through the compiler
2016-09-03 13:39:34 +03:00
Jeffrey Seyfried
c14ff2884d
Rollup merge of #35917 - jseyfried:remove_attr_ext_traits, r=nrc
...
syntax: Remove traits `AttrMetaMethods`, `AttributeMethods`, and `AttrNestedMetaItemMethods`
2016-08-28 10:40:04 +00:00
Jeffrey Seyfried
6303640e85
Rollup merge of #35850 - SergioBenitez:master, r=nrc
...
Implement RFC#1559: allow all literals in attributes
Implemented rust-lang/rfcs#1559, tracked by #34981 .
2016-08-28 10:38:19 +00:00
Jeffrey Seyfried
bfb01bbb26
Refactor away AttrMetaMethods
.
2016-08-25 20:41:40 +00:00
Sergio Benitez
8250a26b5b
Implement RFC#1559: allow all literals in attributes.
2016-08-25 13:25:22 -07:00
Jeffrey Seyfried
c4d577be1a
Refactor away variant hir::PathListItem_::Mod
...
and refacotor `hir::PathListItem_::Ident` -> `hir::PathListItem_`.
2016-08-21 22:59:39 +00:00
Andrew Cann
fadabe08f5
Rename empty/bang to never
...
Split Ty::is_empty method into is_never and is_uninhabited
2016-08-13 21:37:09 +08:00
Andrew Cann
082915290d
Make unused lint ignore unused !
2016-08-13 21:37:09 +08:00
Zack M. Davis
d37edef9dd
prefer if let
to match with None => {}
arm in some places
...
This is a spiritual succesor to #34268/8531d581, in which we replaced a
number of matches of None to the unit value with `if let` conditionals
where it was judged that this made for clearer/simpler code (as would be
recommended by Manishearth/rust-clippy's `single_match` lint). The same
rationale applies to matches of None to the empty block.
2016-07-03 16:27:02 -07:00
Jeffrey Seyfried
8748cd92d0
Rollup merge of #34316 - jseyfried:refactor_ast_stmt, r=eddyb
...
Refactor away `ast::Decl`, refactor `ast::Stmt`, and rename `ast::ExprKind::Again` to `ast::ExprKind::Continue`.
2016-06-26 02:17:27 +00:00
Jonathan Turner
6ae3502134
Move errors from libsyntax to its own crate
2016-06-23 08:07:35 -04:00
Jeffrey Seyfried
962d5c16b5
Fix fallout
2016-06-17 05:21:23 +00:00
Vadim Petrochenkov
cf46820694
Refactor away some functions from hir::pat_util
2016-05-28 17:37:58 +03:00
Eduard Burtescu
ffca6c3e15
rustc: move middle::{def,def_id,pat_util} to hir.
2016-04-06 09:14:21 +03:00
Eduard Burtescu
8b0937293b
rustc: move rustc_front to rustc::hir.
2016-04-06 09:01:55 +03:00
Eduard Burtescu
5efdde0de1
rustc: move cfg, infer, traits and ty from middle to top-level.
2016-03-27 01:05:54 +02:00
Jonas Schievink
fbeb67985d
Autoderef in librustc_lint
2016-02-12 19:28:42 +01:00
Oliver Schneider
8290c950a8
[breaking-change] don't pub export ast::Stmt_ variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
80bf9ae18a
[breaking-change] don't glob export ast::Expr_ variants
2016-02-11 12:34:48 +01:00
Oliver Schneider
79fa657abc
[breaking-change] don't glob export ast::Decl_ variants
2016-02-11 12:34:48 +01:00
Vadim Petrochenkov
e0ceef5a9e
Add ExprType to HIR and make everything compile
...
+ Apply parser changes manually
+ Add feature gate
2015-12-16 17:13:16 +03:00
Ariel Ben-Yehuda
3877664b56
stop using csearch in librustc and librustc_lint
2015-11-26 18:21:17 +02:00