Aidan Hobson Sayers
9b5859aea1
Remove all unstable placement features
...
Closes #22181 , #27779
2018-04-03 11:02:34 +02:00
Taylor Cramer
e6e6bd27d5
Stabilize underscore lifetimes
2018-03-29 00:27:50 +02:00
Taylor Cramer
3c65f53620
Stabilize match_default_bindings
...
This includes a submodule update to rustfmt
in order to allow a stable feature declaration.
2018-03-28 11:13:13 +02:00
Mark Mansi
7ce8191775
Stabilize i128_type
2018-03-26 08:36:50 -05:00
Taylor Cramer
0f5b52e4a8
Stabilize conservative_impl_trait
2018-03-26 10:43:03 +02:00
kennytm
939cfa251a
Keep the fields of RangeInclusive unstable.
2018-03-15 17:01:30 +08:00
kennytm
92d1f8d8e4
Stabilize inclusive_range_syntax
language feature.
...
Stabilize the syntax `a..=b` and `..=b`.
2018-03-15 16:58:02 +08:00
kennytm
b5913f2e76
Stabilize inclusive_range
library feature.
...
Stabilize std::ops::RangeInclusive and std::ops::RangeInclusiveTo.
2018-03-15 16:58:01 +08:00
Andrew Cann
a9fc3901b0
stabilise feature(never_type)
...
Replace feature(never_type) with feature(exhaustive_patterns).
feature(exhaustive_patterns) only covers the pattern-exhaustives checks
that used to be covered by feature(never_type)
2018-03-14 12:44:51 +08:00
gaurikholkar
bfc9b76159
add collect_writes.rs
2018-03-10 20:52:22 +05:30
Oliver Schneider
8c8a433532
Merge const linting pass into const prop
2018-03-08 08:34:14 +01:00
Oliver Schneider
ef995bde50
Move the pattern checking code to hair
2018-03-08 08:34:11 +01:00
Oliver Schneider
bb81f9bdec
only export the two check* functions from check_match
2018-03-08 08:34:11 +01:00
Oliver Schneider
1543367624
The const_eval
module is no more
2018-03-08 08:34:11 +01:00
Oliver Schneider
e97089dae3
Move librustc_const_eval to librustc_mir
2018-03-08 08:08:14 +01:00
Manish Goregaokar
40f218f703
Remove allow(bare_trait_object) from librustc_mir
2018-03-02 21:02:37 -08:00
Manish Goregaokar
f57835b7f4
Rollup merge of #48461 - Manishearth:epoch-dyn-trait, r=nmatsakis
...
Fixes #47311 .
r? @nrc
2018-02-28 15:09:29 -08:00
Manish Goregaokar
63168f7275
Lint bare traits
2018-02-23 08:24:49 -08:00
Mark Simulacrum
33f5ceee1f
stage0 cfg cleanup
2018-02-20 08:52:33 -07:00
bjorn3
74c92c5562
Allow runtime switching between trans backends
2018-01-19 20:27:10 +01:00
Matt Brubeck
3f9c057ea6
Use the new fs_read_write functions in rustc internals
2018-01-10 14:53:40 -08:00
Alex Crichton
8c9bf663d4
rustc: Don't use relative paths for extended errors
...
These no longer work now that Cargo changes the cwd of rustc while it's running.
Instead use an absolute path that's set by rustbuild.
2018-01-04 07:21:22 -08:00
David Henningsson
f536143ab6
Mir: Abort on nounwind ABIs
...
Generate Abort instead of Resume terminators on nounwind ABIs.
https://github.com/rust-lang/rust/issues/18510
Signed-off-by: David Henningsson <diwic@ubuntu.com>
2017-12-21 04:43:35 +01:00
Santiago Pastorino
3a185a510d
Add three point error handling to borrowck
...
Closes #45988
2017-12-20 14:38:10 -05:00
Maik Klein
094c021218
Move collector to monomorphize
2017-12-18 17:08:48 +02:00
Oliver Schneider
1ba46dc378
Move mir validation out of tree
2017-12-14 11:36:28 +01:00
Oliver Schneider
acac58502b
Move large chunks of miri from rustc::mir::interpret to rustc_mir::interpret
2017-12-12 17:27:07 +01:00
Oliver Schneider
acdf83f228
Update miri to rustc changes
2017-12-06 09:25:29 +01:00
Tamir Duberstein
231d9e7e5d
Remove rustc_bitflags; use the bitflags crate
2017-09-17 14:19:24 -04:00
Tamir Duberstein
b3f50caee0
*: remove crate_{name,type} attributes
...
Fixes #41701 .
2017-08-25 16:18:21 -04:00
Felix S. Klock II
4da2a88abc
Expose mir-borrowck via a query.
...
(A followup commit removes the mir::transform based entry point.)
2017-08-21 12:49:18 +02:00
Vadim Petrochenkov
de4dbe5789
rustc: Remove some dead code
2017-08-19 13:27:16 +03:00
Felix S. Klock II
8e79fc72cb
Move borrowck error msg construction to module in rustc_mir
(for later reuse by mir borrowck).
...
post-rebase: Do not put "(Ast)" suffix in error msg unless passed `-Z borrowck-mir`.
(But unconditionally include "(Mir)" suffix for mir-borrowck errors.)
2017-08-16 15:52:45 +02:00
Zack M. Davis
7efeade268
de-orphan extended information
...
Bizarrely, librustc_passes, librustc_plugin, librustc_mir, and libsyntax
weren't getting their error explanations registered.
Resolves #35284 .
2017-08-06 21:29:05 -07:00
Alex Crichton
9010567dcc
Bump master to 1.21.0
...
This commit bumps the master branch's version to 1.21.0 and also updates the
bootstrap compiler from the freshly minted beta release.
2017-07-25 07:03:19 -07:00
Sean McArthur
74b2d69358
remove associated_consts feature gate
2017-07-06 11:52:25 -07:00
Felix S. Klock II
13cd022060
Shift mir-dataflow from rustc_borrowck
to rustc_mir
crate.
...
Turn `elaborate_drops` and `rustc_peek` implementations into MIR
passes that also live in `rustc_mir` crate.
Rewire things so `rustc_driver` uses the `ElaborateDrops` from
`rustc_mir` crate.
2017-06-28 13:59:12 +02:00
Alex Crichton
be7ebdd512
Bump version and stage0 compiler
2017-06-19 22:25:05 -07:00
Alex Crichton
ab54f4b226
rustc: Remove #![unstable] annotation
...
These are now no longer necessary with `-Z force-unstable-if-unmarked`
2017-05-11 16:03:05 -07:00
Niko Matsakis
b0092e89e0
move queries code into transform
2017-05-02 16:21:57 -04:00
Niko Matsakis
74b2783877
delete dead code
2017-05-02 16:21:56 -04:00
Niko Matsakis
c1ff10464d
rename mir_map
to queries
and remove build_mir_for_crate
2017-05-02 14:01:37 -04:00
Niko Matsakis
2b32cb90c7
retool MIR passes completely
...
The new setup is as follows. There is a pipeline of MIR passes that each
run **per def-id** to optimize a particular function. You are intended
to request MIR at whatever stage you need it. At the moment, there is
only one stage you can request:
- `optimized_mir(def_id)`
This yields the final product. Internally, it pulls the MIR for the
given def-id through a series of steps. Right now, these are still using
an "interned ref-cell" but they are intended to "steal" from one
another:
- `mir_build` -- performs the initial construction for local MIR
- `mir_pass_set` -- performs a suite of optimizations and transformations
- `mir_pass` -- an individual optimization within a suite
So, to construct the optimized MIR, we invoke:
mir_pass_set((MIR_OPTIMIZED, def_id))
which will build up the final MIR.
2017-05-02 14:01:01 -04:00
Alex Crichton
c033942925
rustbuild: Update bootstrap compiler
...
Now that we've also updated cargo's release process this commit also changes the
download location of Cargo from Cargos archives back to the static.r-l.o
archives. This should ensure that the Cargo download is the exact Cargo paired
with the rustc that we release.
2017-03-29 08:55:15 -07:00
Ariel Ben-Yehuda
2b9fea1300
move the drop expansion code to rustc_mir
2017-03-18 02:53:07 +02:00
Ariel Ben-Yehuda
65a4266f1f
refactor away callee::Callee and translate virtual calls through a MIR shim
...
These changes are in the same commit to avoid needing to adapt
meth::trans_object_shim to the new scheme.
One codegen-units test is broken because we instantiate the shims even
when they are not needed. This will be fixed in the next PR.
2017-03-18 02:53:07 +02:00
Ariel Ben-Yehuda
ffee9566bb
move Instance to rustc and use it in the collector
2017-03-18 02:53:04 +02:00
Ariel Ben-Yehuda
0af3775dd2
translate tuple-variant constructors using MIR
2017-03-18 02:52:07 +02:00
James Miller
71d0d921c2
Initial implementation of inlining for MIR
...
Fairly basic implementation of inlining for MIR. Uses conservative
heuristics for inlining.
2017-03-10 03:54:26 +02:00
Eduard-Mihai Burtescu
d9f0a949fd
rustc_const_eval: demand that the MIR qualify_consts ran on each evaluated body.
2017-02-25 18:35:26 +02:00