about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2017-07-31async-llvm(19): Already start LLVM while still translating.Michael Woerister-48/+55
2017-07-31async-llvm(18): Instantiate OngoingCrateTranslation before starting translation.Michael Woerister-75/+84
2017-07-31async-llvm(17): Create MSVC __imp_ symbols immediately for each module.Michael Woerister-39/+27
2017-07-31async-llvm(16): Inject allocator shim into LLVM module immediately if necessary.Michael Woerister-12/+27
2017-07-31async-llvm(15): Don't require number of codegen units upfront.Michael Woerister-34/+27
2017-07-31async-llvm(14): Move LTO/codegen-unit conflict check to beginning of ↵Michael Woerister-13/+17
compilation process.
2017-07-31async-llvm(13): Submit LLVM work packages from base::trans_crate().Michael Woerister-87/+90
2017-07-31async-llvm(12): Hide no_integrated_as logic in write::run_passes.Michael Woerister-41/+23
2017-07-31async-llvm(11): Delay joining ongoing translation until right before linking.Michael Woerister-110/+98
2017-07-31async-llvm(10): Factor compile output files cleanup into separate functions.Michael Woerister-85/+101
2017-07-31async-llvm(9): Move OngoingCrateTranslation into back::write.Michael Woerister-73/+83
2017-07-31async-llvm(8): Clean up resource management and drop LLVM modules ASAP.Michael Woerister-151/+256
2017-07-31async-llvm(7): Clean up error handling a bit.Michael Woerister-6/+13
2017-07-31async-llvm(6): Make the LLVM work coordinator get its work package through a ↵Michael Woerister-28/+53
channel instead of upfront.
2017-07-31async-llvm(5): Do continuous error handling on main thread.Michael Woerister-14/+55
2017-07-31async-llvm(4): Move work coordination to separate thread in order to free up ↵Michael Woerister-63/+61
the main thread for translation.
2017-07-31async-llvm(3): Make write::CodegenContext Clone and Send.Michael Woerister-82/+78
2017-07-31async-llvm(2): Decouple diagnostics emission from LLVM worker coordination.Michael Woerister-154/+238
2017-07-31async-llvm(1): Run LLVM already in trans_crate().Michael Woerister-72/+129
2017-07-31Auto merge of #43562 - alexcrichton:no-clean-rebuild, r=petrochenkovbors-13/+0
rustbuild: Remove `--enable-llvm-clean-rebuild` This was intended for bots back in the day where we'd persist caches of LLVM builds across runs, but nowadays we don't do that on any of the bots so this option is no longer necessary
2017-07-31Auto merge of #43546 - nikomatsakis:issue-43132, r=arielb1bors-6/+86
save subobligations in the projection cache The projection cache explicitly chose not to "preserve" subobligations for projections, since the fulfillment context ought to have been doing so. But for the trait evaluation scheme that causes problems. This PR reproduces subobligations. This has the potential to slow down compilation, but minimal investigation suggests it does not do so. One hesitation about this PR: I could not find a way to make a standalone test case for #43132 (but admittedly I did not try very hard). Fixes #43132. r? @arielb1
2017-07-31Auto merge of #43519 - zackmdavis:long_diagnostics_ever_after, r=GuillaumeGomezbors-22/+90
a couple more error explanations for posterity E0436, E0595, and moving E0569 to where it belongs in the file rather than being bizarrely out of numerical order r? @GuillaumeGomez
2017-07-30Auto merge of #43563 - tbu-:pr_from_str_radix_panic, r=alexcrichtonbors-0/+4
Document the `from_str_radix` panic CC #42034
2017-07-30Document the `from_str_radix` panicTobias Bucher-0/+4
CC #42034
2017-07-30rustbuild: Remove `--enable-llvm-clean-rebuild`Alex Crichton-13/+0
This was intended for bots back in the day where we'd persist caches of LLVM builds across runs, but nowadays we don't do that on any of the bots so this option is no longer necessary
2017-07-30Auto merge of #43556 - dmizuk:remove-z-opt-usage, r=arielb1bors-5/+9
librustc_driver: Remove -Z option from usage on stable compiler The `-Z` flag has been disabled since Rust 1.19 stable, but it still shows in `rustc --help`. This PR addresses the inconsistency by removing the message on the stable channel.
2017-07-30extended info for E0595 closure cannot mutate immutable local variableZack M. Davis-1/+18
2017-07-30move extended info for E0569 to numerical-order location in fileZack M. Davis-20/+22
We want the error explanations to appear in numerical order so that they're easy to find. (Also, any other order would be arbitrary and thus not constitute a Schelling point.) Bizarrely, the extended information for E0569 was placed between E0244 and E0318 in librustc_typeck/diagnostics.rs (when the code was introduced in 9a649c32). This commit moves it to be between E0562 and E0570, where it belongs. (Also, at reviewer request, say "Erroneous code example", the standard verbiage that it has been decided that we say everywhere.)
2017-07-30add extended info for E0436 functional record update syntax needs structZack M. Davis-1/+50
This example focuses on struct-like enum variants, because it's not immediately obvious in what other context we can get E0436 alone, without any other, more serious, errors. (Triggering E0436 with a union also emits a separate "union expressions should have exactly one field" error.) (One might argue that we ought to accept the functional record update syntax for struct-like enums, but that is beyond the scope of this error-index-comprehensiveness commit.)
2017-07-30save the subobligations as wellNiko Matsakis-6/+86
2017-07-30Auto merge of #43515 - QuietMisdreavus:show-assoc-types, r=GuillaumeGomezbors-0/+7
rustdoc: print associated types in traits "implementors" section When viewing a trait's implementors, they won't show anything about the implementation other than any bounds on the generics. You can see the full implementation details on the page for the type, but if the type is external (e.g. it's an extension trait being implemented for primitives), then you'll never be able to see the details of the implementation without opening the source code. This doesn't solve everything about that, but it does still show an incredibly useful piece of information: the associated types. This can help immensely for traits like `Deref` or `IntoIterator` in libstd, and also for traits like `IntoFuture` outside the standard library. Fixes #24200 🚨 BIKESHED ALERT 🚨 The indentation and sizing of the types is suspect. I put it in the small text so it wouldn't blend in with the next impl line. (It shares a CSS class with the where clauses, as you can see in the following image.) However, the indentation is nonstandard. I initially tried with no indentation (looked awkward and blended too well with the surrounding impls) and with 4-space indentation (too easy to confuse with where clauses), before settling on the 2-space indentation seen below. It's... okay, i guess. Open to suggestions. ![snippet of the implementors of IntoIterator, showing the associated types](https://user-images.githubusercontent.com/5217170/28697456-a4e01a12-7301-11e7-868e-2a6441d6c9e0.png)
2017-07-30Auto merge of #43543 - petrochenkov:32330, r=nikomatsakisbors-278/+113
Cleanup some remains of `hr_lifetime_in_assoc_type` compatibility lint r? @nikomatsakis
2017-07-30librustc_driver: Remove -Z option from usage on stable compilerDaiki Mizukami-5/+9
2017-07-30Auto merge of #43551 - Mark-Simulacrum:rollup, r=Mark-Simulacrumbors-58/+160
Rollup of 8 pull requests - Successful merges: #43409, #43501, #43509, #43512, #43513, #43536, #43544, #43549 - Failed merges:
2017-07-29Rollup merge of #43549 - alexcrichton:build-llvm, r=Mark-SimulacrumMark Simulacrum-1/+7
rustbuild: Enable building LLVM I use this from time to time debugging LLVM builds, useful to have!
2017-07-29Rollup merge of #43544 - redox-os:update_redox_sys, r=sfacklerMark Simulacrum-10/+62
Update redox sys - Add JoinHandleExt - Split FL and FD for fcntl
2017-07-29Rollup merge of #43536 - alexcrichton:privileged, r=TimNNMark Simulacrum-0/+7
Flag docker invocations as --privileged on CI When upgrading to LLVM 5.0 it was found that the leak sanitizer tests were failing with fatal errors, but they were passing locally when run. Turns out it looks like they may be using new ptrace-like syscalls so the docker container now needs `--privileged` when executing to complete the test.
2017-07-29Rollup merge of #43513 - alexcrichton:inline-repeat, r=BurntSushiMark Simulacrum-0/+22
std: Mark `Layout::repeat` as `#[inline]` This fixes an optimization regression by allowing LLVM to see through more functions. Closes #43272
2017-07-29Rollup merge of #43512 - arielb1:untyped-move-paths, r=eddybMark Simulacrum-19/+28
erase types in the move-path abstract domain Leaving types unerased would lead to 2 types with a different "name" getting different move-paths, which would cause major brokenness (see e.g. #42903). This does not fix any *known* issue, but is required if we want to use abs_domain with non-erased regions (because the same can easily have different names). cc @RalfJung. r? @eddyb
2017-07-29Rollup merge of #43509 - QuietMisdreavus:method-src, r=GuillaumeGomezMark Simulacrum-1/+13
rustdoc: add [src] links to associated functions inside an impl block While impl blocks currently have a `[src]` link to show the source for the impl block as a whole, individual methods inside that impl block do not. This can pose a problem for structs with a lot of methods, like many in libstd. This change adds little `[src]` links to individual methods that point directly to the function in the bundled source. fixes #12932 ![methods on HashMap, showing the new src links](https://user-images.githubusercontent.com/5217170/28686066-9e7a19de-72cf-11e7-8e6b-b7d60fa33032.png)
2017-07-29Rollup merge of #43501 - topecongiro:span-to-whereclause, r=nrcMark Simulacrum-2/+13
Add Span to ast::WhereClause This PR adds `Span` field to `ast::WhereClause`. The motivation here is to make rustfmt's life easier when recovering comments before and after where clause. r? @nrc
2017-07-29Rollup merge of #43409 - tshepang:concise, r=steveklabnikMark Simulacrum-25/+8
doc: make into_iter example more concise Also, remove dupe example
2017-07-29Auto merge of #43009 - GuillaumeGomez:unused-doc-comments, r=nrcbors-35/+110
Throw errors when doc comments are added where they're unused #42617
2017-07-29Update rls submoduleGuillaume Gomez-0/+0
2017-07-29Flag docker invocations as --privileged on CIAlex Crichton-0/+7
When upgrading to LLVM 5.0 it was found that the leak sanitizer tests were failing with fatal errors, but they were passing locally when run. Turns out it looks like they may be using new ptrace-like syscalls so the docker container now needs `--privileged` when executing to complete the test.
2017-07-29rustbuild: Enable building LLVMAlex Crichton-1/+7
I use this from time to time debugging LLVM builds, useful to have!
2017-07-29Auto merge of #43541 - gaurikholkar:lifetime_errors, r=nikomatsakisbors-12/+12
Changing E0623 error message - both anonymous lifetime regions Changing the error message to ``` error[E0623]: lifetime mismatch --> $DIR/ex3-both-anon-regions.rs:12:12 | 11 | fn foo(x: &mut Vec<&u8>, y: &u8) { | --- --- these references are not declared with the same lifetime... 12 | x.push(y); | ^ ...but data from `y` flows into `x` here error: aborting due to previous error ``` cc @nikomatsakis @aturon @jonathandturner r? @nikomatsakis
2017-07-29std: Mark `Layout::repeat` as `#[inline]`Alex Crichton-0/+22
This fixes an optimization regression by allowing LLVM to see through more functions. Closes #43272
2017-07-29Split FL and FD fcntlsJeremy Soller-10/+12
2017-07-29Redox: Add JoinHandleExt (matching Unix version)Ian Douglas Scott-0/+50