summary refs log tree commit diff
path: root/src/librustc
AgeCommit message (Collapse)AuthorLines
2016-05-04Check transmutes between types without statically known sizes.Eduard Burtescu-225/+264
2016-05-04Compute LLVM-agnostic type layouts in rustc.Eduard Burtescu-9/+1004
# Conflicts: # src/librustc/ty/layout.rs
2016-05-04Parse data-layout specifications.Eduard Burtescu-0/+255
2016-04-12std: Stabilize APIs for the 1.9 releaseAlex Crichton-9/+10
This commit applies all stabilizations, renamings, and deprecations that the library team has decided on for the upcoming 1.9 release. All tracking issues have gone through a cycle-long "final comment period" and the specific APIs stabilized/deprecated are: Stable * `std::panic` * `std::panic::catch_unwind` (renamed from `recover`) * `std::panic::resume_unwind` (renamed from `propagate`) * `std::panic::AssertUnwindSafe` (renamed from `AssertRecoverSafe`) * `std::panic::UnwindSafe` (renamed from `RecoverSafe`) * `str::is_char_boundary` * `<*const T>::as_ref` * `<*mut T>::as_ref` * `<*mut T>::as_mut` * `AsciiExt::make_ascii_uppercase` * `AsciiExt::make_ascii_lowercase` * `char::decode_utf16` * `char::DecodeUtf16` * `char::DecodeUtf16Error` * `char::DecodeUtf16Error::unpaired_surrogate` * `BTreeSet::take` * `BTreeSet::replace` * `BTreeSet::get` * `HashSet::take` * `HashSet::replace` * `HashSet::get` * `OsString::with_capacity` * `OsString::clear` * `OsString::capacity` * `OsString::reserve` * `OsString::reserve_exact` * `OsStr::is_empty` * `OsStr::len` * `std::os::unix::thread` * `RawPthread` * `JoinHandleExt` * `JoinHandleExt::as_pthread_t` * `JoinHandleExt::into_pthread_t` * `HashSet::hasher` * `HashMap::hasher` * `CommandExt::exec` * `File::try_clone` * `SocketAddr::set_ip` * `SocketAddr::set_port` * `SocketAddrV4::set_ip` * `SocketAddrV4::set_port` * `SocketAddrV6::set_ip` * `SocketAddrV6::set_port` * `SocketAddrV6::set_flowinfo` * `SocketAddrV6::set_scope_id` * `<[T]>::copy_from_slice` * `ptr::read_volatile` * `ptr::write_volatile` * The `#[deprecated]` attribute * `OpenOptions::create_new` Deprecated * `std::raw::Slice` - use raw parts of `slice` module instead * `std::raw::Repr` - use raw parts of `slice` module instead * `str::char_range_at` - use slicing plus `chars()` plus `len_utf8` * `str::char_range_at_reverse` - use slicing plus `chars().rev()` plus `len_utf8` * `str::char_at` - use slicing plus `chars()` * `str::char_at_reverse` - use slicing plus `chars().rev()` * `str::slice_shift_char` - use `chars()` plus `Chars::as_str` * `CommandExt::session_leader` - use `before_exec` instead. Closes #27719 cc #27751 (deprecating the `Slice` bits) Closes #27754 Closes #27780 Closes #27809 Closes #27811 Closes #27830 Closes #28050 Closes #29453 Closes #29791 Closes #29935 Closes #30014 Closes #30752 Closes #31262 cc #31398 (still need to deal with `before_exec`) Closes #31405 Closes #31572 Closes #31755 Closes #31756
2016-04-08Auto merge of #32738 - Aatch:mir-operand-fn-ret, r=arielb1bors-4/+8
Handle operand temps for function calls Previously, all non-void function returns required an on-stack location for the value to be stored to. This code improves translation of function calls so this is no longer necessary.
2016-04-07Auto merge of #32016 - nikomatsakis:incr-comp-save, r=mwbors-616/+487
Save/load incremental compilation dep graph Contains the code to serialize/deserialize the dep graph to disk between executions. We also hash the item contents and compare to the new hashes. Also includes a unit test harness. There are definitely some known limitations, such as https://github.com/rust-lang/rust/issues/32014 and https://github.com/rust-lang/rust/issues/32015, but I am leaving those for follow-up work. Note that this PR builds on https://github.com/rust-lang/rust/pull/32007, so the overlapping commits can be excluded from review. r? @michaelwoerister
2016-04-07Rollup merge of #32748 - aturon:simplified-spec, r=nikomatsakisManish Goregaokar-70/+162
Reinstate fast_reject for overlap checking The initial implementation of specialization did not use the `fast_reject` mechanism when checking for overlap, which caused a serious performance regression in some cases. This commit modifies the specialization graph to use simplified types for fast rejection when possible, and along the way refactors the logic for building the specialization graph. Closes #32499 r? @nikomatsakis
2016-04-07Rollup merge of #32674 - jseyfried:1422_groundwork, r=nikomatsakisManish Goregaokar-72/+101
Lay groundwork for RFC 1422 and improve `PrivateItemsInPublicInterfacesVisitor` This PR lays groundwork for RFC 1422 (cc #32409) and improves `PrivateItemsInPublicInterfacesVisitor`. More specifically, it - Refactors away `hir::Visibility::inherit_from`, the semantics of which are obsolete. - Makes `hir::Visibility` non-`Copy` so that we will be able to add new variants to represent `pub(restricted)` (for example, `Visibility::Restricted(Path)`). - Adds a new `Copy` type `ty::Visibility` that represents a visibility value, i.e. a characterization of where an item is accessible. This is able to represent `pub(restricted)` visibilities. - Improves `PrivateItemsInPublicInterfacesVisitor` so that it checks for items in an interface that are less visible than the interface. This fixes #30079 but doesn't change any other behavior. r? @nikomatsakis
2016-04-07Auto merge of #32583 - arielb1:need-a-bound, r=nikomatsakisbors-149/+238
Suggest adding a where-clause when that can help Suggest adding a where-clause when there is an unmet trait-bound that can be satisfied if some type can implement it. r? @nikomatsakis
2016-04-07test the substs ppaux code both with and without -Z verboseAriel Ben-Yehuda-1/+2
2016-04-07Improve `PrivateItemsInPublicInterfacesVisitor`Jeffrey Seyfried-1/+12
2016-04-07Use the node id from the `Restricted` variant when checking accessibilityJeffrey Seyfried-12/+20
in `typeck` and in `privacy::PrivacyVisitor`.
2016-04-07Make `hir::Visibility` non-copyable and add `ty::Visibility`Jeffrey Seyfried-51/+70
2016-04-07Refactor away `hir::Visibility::inherit_from`Jeffrey Seyfried-9/+0
2016-04-06Auto merge of #32230 - GuillaumeGomez:extend_css, r=alexcrichtonbors-21/+85
Add --extend-css option to rustdoc Fixes #32223 r? @brson
2016-04-06Rollup merge of #32766 - nikomatsakis:constant-pattern-warning-cycle, r=eddybSteve Klabnik-1/+1
change constant patterns to have a warning cycle This was the original intention :( r? @eddyb
2016-04-06rebase over the hir renameNiko Matsakis-3/+2
2016-04-06remove svh moduleNiko Matsakis-1/+0
2016-04-06add function to retrace a DefPath to a DefIdNiko Matsakis-0/+49
used after loading state from previous compilation
2016-04-06break dep-graph into modules, parameterize DepNodeNiko Matsakis-241/+408
it is useful later to customize how change the type we use for reference items away from DefId
2016-04-06make an incremental crateNiko Matsakis-363/+13
for now, this houses `svh` and the code to check `assert_dep_graph` is sane
2016-04-06restructure rustc options relating to incr. comp.Niko Matsakis-12/+19
You can now pass `-Z incremental=dir` as well as saying `-Z query-dep-graph` if you want to enable queries for some other purpose. Accessor functions take the place of computed boolean flags.
2016-04-06Rollup merge of #32570 - eddyb:tis-but-a-front, r=nikomatsakisManish Goregaokar-500/+9118
r? @nikomatsakis Conflicts: src/librustc_save_analysis/lib.rs src/libsyntax/ast_util.rs
2016-04-06rustc: retire hir::map's paths.Eduard Burtescu-242/+63
2016-04-06change constant patterns to have a warning cycleNiko Matsakis-1/+1
This was the original intention :(
2016-04-06Move span into `StructField`Vadim Petrochenkov-1/+1
2016-04-06rustc: move some maps from ty to hir.Eduard Burtescu-26/+29
2016-04-06rustc: move middle::{def,def_id,pat_util} to hir.Eduard Burtescu-71/+71
2016-04-06syntax: dismantle ast_util.Eduard Burtescu-49/+64
2016-04-06rustc: dismantle hir::util, mostly moving functions to methods.Eduard Burtescu-389/+366
2016-04-06rustc: move rustc_front to rustc::hir.Eduard Burtescu-121/+8924
2016-04-05clean the note-reporting code in report_selection_errorAriel Ben-Yehuda-39/+62
2016-04-05improve the printing of substs and trait-refsAriel Ben-Yehuda-91/+103
2016-04-05improve error messageAriel Ben-Yehuda-2/+2
2016-04-05suggest adding a where-clause when that can helpAriel Ben-Yehuda-14/+72
suggest adding a where-clause when there is an unmet trait-bound that can be satisfied if some type can implement it.
2016-04-05remove workaround that prints error messages with TyErrAriel Ben-Yehuda-6/+1
now that normalize_to_error no longer creates these, it is unnecessary.
2016-04-05Auto merge of #32743 - Manishearth:rollup, r=Manishearthbors-80/+168
Rollup of 11 pull requests - Successful merges: #32403, #32596, #32675, #32678, #32685, #32686, #32692, #32710, #32712, #32714, #32715 - Failed merges: #32488
2016-04-05Reinstate fast_reject for overlap checkingAaron Turon-70/+162
The initial implementation of specialization did not use the `fast_reject` mechanism when checking for overlap, which caused a serious performance regression in some cases. This commit modifies the specialization graph to use simplified types for fast rejection when possible, and along the way refactors the logic for building the specialization graph. Closes #32499
2016-04-05Rollup merge of #32710 - jonas-schievink:consider-last-semi, r=nagisaManish Goregaokar-2/+2
Fix "consider removing this semicolon" help Check last statement in a block, not the first. Example of current weirdness: http://is.gd/w80J9h The help was only rarely emitted, and if so, often incorrectly (see above playpen). It was basically only useful with single-statement functions.
2016-04-05Rollup merge of #32596 - soltanmm:lazy, r=nikomatsakisManish Goregaokar-77/+158
Plumb obligations through librustc/infer Like #32542, but more like #31867. TODO before merge: make an issue for the propagation of obligations through... uh, everywhere... then replace the `#????`s with the actual issue number. cc @jroesch r? @nikomatsakis
2016-04-05Rollup merge of #32403 - vlastachu:super_in_path, r=jseyfriedManish Goregaokar-1/+8
Fix issue: Global paths in `use` directives can begin with `super` or `self` #32225 This PR fixes #32225 by warning on `use ::super::...` and `use ::self::...` on `resolve`. Current changes is the most minimal and ad-hoc.
2016-04-05Auto merge of #29463 - jseyfried:master, r=nikomatsakisbors-68/+23
Remove implicit binder from `FnSpace` in `VecPerParamSpace` (fixes #20526) This removes the implicit binder from `FnSpace` in `VecPerParamSpace` so that `Binder<T>` is the only region binder (as described in issue #20526), and refactors away `enter_region_binder` and `exit_region_binder` from `TypeFolder`.
2016-04-05Fixes bug which accepting using `super` in use statemet.vlastachu-1/+8
Issue: #32225
2016-04-05Centralize nightly compiler flags handlingGuillaume Gomez-21/+85
2016-04-04Address nitsMasood Malekghassemi-24/+25
2016-04-04fix corner case around top of stackNiko Matsakis-39/+32
When deciding on a coinductive match, we were examining the new obligation and the backtrace, but not the *current* obligation that goes in between the two. Refactoring the code to just have the cycle given as input also made things a lot simpler.
2016-04-04process cycles as soon as they are detectedNiko Matsakis-124/+162
We used to wait for the recursion limit, but that might well be too long!
2016-04-04Handle operand temps for function callsJames Miller-4/+8
This allows temporary destinations for function calls to have their allocas omitted.
2016-04-03Fix "consider removing this semicolon" helpJonas Schievink-2/+2
Check last statement in a block, not the first
2016-04-02Auto merge of #32579 - michaelwoerister:stable-symbol-name-fix, r=eddybbors-1/+1
Fix typo in TxCtxt::crate_disambiguator() and add test case. r? @nikomatsakis Fixes #32554