arcnmx
0ff055ad66
Pass through diagnostic handler instead
2016-02-11 12:45:52 -05:00
arcnmx
e6f0f7d52d
Only retain external static symbols across LTO
2016-02-11 12:45:52 -05:00
Oliver Schneider
243a30c931
[breaking-change] don't glob import/export syntax::abi enum variants
2016-02-11 12:34:48 +01:00
Simonas Kazlauskas
432460a6fc
Synthesize calls to box_free language item
...
This gets rid of Drop(Free, _) MIR construct by synthesizing a call to language item which
takes care of dropping instead.
2016-02-04 15:56:01 +02:00
Vadim Petrochenkov
2084c2c33a
Rename Def's variants and don't reexport them
2016-01-20 22:31:10 +03:00
Niko Matsakis
005fa14358
Annotate the compiler with information about what it is doing when.
2016-01-05 21:05:50 -05:00
Vadim Petrochenkov
c1ad5af4a6
Changes to data produced by privacy pass
2015-11-19 14:16:35 +03:00
Niko Matsakis
e4ff9f71db
Port a bunch of code new-visitor; all of these ports were
...
straightforward uses of `visit_all_items`. In some cases I had to remove
empty `visit_item` calls that were just to suppress visiting nested
items.
2015-11-18 19:22:18 -05:00
Oliver Schneider
e36872da5b
ImplItem_ -> ImplItemKind rename
2015-11-16 10:35:30 +01:00
Oliver Schneider
eaaa60dbea
rename ImplItem_::*ImplItem to ImplItem_::*
...
[breaking change]
2015-11-16 10:34:45 +01:00
Vadim Petrochenkov
5092b09648
rustc_privacy: Do not export items needed solely for the reachability analysis
...
Process them in middle::reachable instead
Add tests for reachability of trait methods written in UFCS form
2015-11-05 18:17:33 +03:00
Vadim Petrochenkov
61cbc84480
Make fields and macro defs exported
2015-10-29 21:54:55 +03:00
Vadim Petrochenkov
243a524d06
Fix for middle::reachable + better comments and tests
...
In `middle::reachable` mark default impl of a trait method as reachable if this trait method is used from inlinable code
2015-10-28 03:38:22 +03:00
Niko Matsakis
5600c6282e
move direct accesses of node
to go through as_local_node_id
, unless
...
they are being used as an opaque "position identifier"
2015-10-01 10:37:19 -04:00
Niko Matsakis
dc4a4ada58
move LOCAL_CRATE to cstore
2015-10-01 09:44:28 -04:00
Ariel Ben-Yehuda
f9b703e7ab
remove the destructors table
2015-09-26 23:11:52 +03:00
Nick Cameron
e9f1b06329
Use ast attributes every where (remove HIR attributes).
...
This could be a [breaking-change] if your lint or syntax extension (is that even possible?) uses HIR attributes or literals.
2015-09-16 10:57:06 +12:00
Manish Goregaokar
956c5977ac
Rollup merge of #28194 - steveklabnik:add_fixme, r=alexcrichton
2015-09-04 01:40:04 +05:30
Steve Klabnik
9e79fc2d22
Add an issue number to this FIXME
2015-09-03 11:00:40 -04:00
Nick Cameron
facdf2ebb1
Add an intital HIR and lowering step
2015-09-03 10:02:36 +12:00
Ariel Ben-Yehuda
277eeb95c3
move destructors_for_type into AdtDef
2015-08-25 21:52:15 +03:00
Niko Matsakis
c0de23de81
convert to use is_local
instead of == LOCAL_CRATE
2015-08-24 05:35:34 -04:00
Niko Matsakis
e91bef2e05
fallout from moving def-id
2015-08-24 05:35:34 -04:00
Eduard Burtescu
d256eb1c5d
rustc: remove MethodOrigin and use the container to distinguish inherent methods.
2015-07-04 17:51:31 +03:00
Eduard Burtescu
70365ed911
rustc: simplify ty::MethodOrigin and avoid trait item indices.
2015-07-04 06:21:00 +03:00
Jared Roesch
79d02895ff
Begin refactor type checking state
...
This first patch starts by moving around pieces of state related to
type checking. The goal is to slowly unify the type checking state
into a single typing context. This initial patch moves the
ParameterEnvironment into the InferCtxt and moves shared tables
from Inherited and ty::ctxt into their own struct Tables. This
is the foundational work to refactoring the type checker to
enable future evolution of the language and tooling.
2015-06-27 13:43:20 -07:00
Joshua Landau
d7f5fa4636
Conver reborrows to .iter() calls where appropriate
2015-06-11 13:56:07 +01:00
Eduard Burtescu
76eaed44d9
syntax: move ast_map to librustc.
2015-06-10 02:40:45 +03:00
Eduard Burtescu
af3795721c
syntax: parse const fn
for free functions and inherent methods.
2015-05-21 11:47:30 -04:00
Sean Patrick Santos
b5499775d6
Structural changes for associated constants
...
Introduces new variants and types in syntax::ast, middle::ty, and middle::def.
2015-04-23 21:02:25 -06:00
Niko Matsakis
8e58af4004
Fallout in stdlib, rustdoc, rustc, etc. For most maps, converted uses of
...
`[]` on maps to `get` in rustc, since stage0 and stage1+ disagree about
how to use `[]`.
2015-03-23 16:55:45 -04:00
Eduard Burtescu
9da918548d
syntax: move MethMac to MacImplItem and combine {Provided,Required}Method into MethodTraitItem.
2015-03-11 23:39:16 +02:00
Eduard Burtescu
ce10fa8d12
syntax: rename TypeMethod to MethodSig and use it in MethDecl.
2015-03-11 23:39:16 +02:00
Eduard Burtescu
f98b176314
syntax: gather common fields of impl & trait items into their respective types.
2015-03-11 23:39:16 +02:00
Eduard Burtescu
98491827b9
syntax: move indirection around {Trait,Impl}Item, from within.
2015-03-11 23:39:15 +02:00
Eduard Burtescu
d31b9ebef5
Implement <T>::method
UFCS expression syntax.
2015-02-24 14:16:02 +02:00
Eduard Burtescu
5a6a9ed792
rustc: combine partial_def_map and last_private_map into def_map.
2015-02-24 14:16:02 +02:00
bors
2890508d97
Auto merge of #21689 - FlaPer87:oibit-send-and-friends, r=nikomatsakis
...
This is one more step towards completing #13231
This series of commits add support for default trait implementations. The changes in this PR don't break existing code and they are expected to preserve the existing behavior in the compiler as far as built-in bounds checks go.
The PR adds negative implementations of `Send`/`Sync` for some types and it removes the special cases for `Send`/`Sync` during the trait obligations checks. That is, it now fully relies on the traits check rather than lang items.
Once this patch lands and a new snapshot is created, it'll be possible to add default impls for `Send` and `Sync` and remove entirely the use of `BuiltinBound::{BoundSend,BoundSync}` for positive implementations as well.
This PR also removes the restriction on negative implementations. That is, it is now possible to add negative implementations for traits other than `Send`/`Sync`
2015-02-24 02:22:44 +00:00
Simonas Kazlauskas
c9d0967383
Validate inline attribute arguments
2015-02-22 13:44:28 +02:00
Flavio Percoco
d38aab397e
Rename DefTrait to DefaultImpl
2015-02-22 02:14:25 +01:00
Flavio Percoco
4148d5361a
Fix fallout from libsyntax implementation
2015-02-22 02:14:24 +01:00
Niko Matsakis
68e5bb3f2c
Remove remaining uses of []
. This time I tried to use deref coercions where possible.
2015-02-20 14:08:14 -05:00
Jorge Aparicio
d5d7e6565a
for x in xs.iter()
-> for x in &xs
2015-02-02 13:40:18 -05:00
Eduard Burtescu
cfb63d5448
rustc: fix fallout of merging ast::ViewItem into ast::Item.
2015-01-21 16:27:26 +02:00
Alex Crichton
3121c04043
Fix typedef/module name conflicts in the compiler
2015-01-18 18:26:34 -08:00
Eduard Burtescu
2cdc86c180
syntax: add fully qualified UFCS expressions.
2015-01-15 18:51:14 +02:00
Jorge Aparicio
517f1cc63c
use slicing sugar
2015-01-07 17:35:56 -05:00
Nick Cameron
f7ff37e4c5
Replace full slice notation with index calls
2015-01-07 10:46:33 +13:00
Flavio Percoco
8b883ab268
Add syntax for negative implementations of traits
...
This commit introduces the syntax for negative implmenetations of traits
as shown below:
`impl !Trait for Type {}`
cc #13231
Part of RFC #3
2015-01-04 23:16:13 +01:00
Alex Crichton
082bfde412
Fallout of std::str stabilization
2014-12-21 23:31:42 -08:00