about summary refs log tree commit diff
path: root/src
AgeCommit message (Collapse)AuthorLines
2019-01-17Add signed num::NonZeroI* typesSimon Sapin-18/+32
Multiple people have asked for them, in https://github.com/rust-lang/rust/issues/49137. Given that the unsigned ones already exist, they are very easy to add and not an additional maintenance burden.
2019-01-17compiletest: Simplify handling of Clang-based tests.Michael Woerister-109/+26
2019-01-17Support clang-based run-make tests in rustbuild.Michael Woerister-5/+30
2019-01-17compiletest: Support opt-in Clang-based run-make tests.Michael Woerister-1/+101
Some cross-language run-make tests need a Clang compiler that matches the LLVM version of rustc. Since such a compiler usually isn't available these tests (marked with the "needs-matching-clang" directive) are ignored by default. For some CI jobs we do need these tests to run unconditionally though. In order to support this a --force-clang-based-tests flag is added to compiletest. If this flag is specified, compiletest will fail if it can't detect an appropriate version of Clang.
2019-01-17Add an end-to-end run-make test for cross-lang LTO.Michael Woerister-0/+69
2019-01-17properly deprecate suggestion methodsAndy Russell-40/+86
2019-01-17Fix typo bug in DepGraph::try_mark_green().Michael Woerister-1/+18
2019-01-17Use a faster early exit during region expansionBjörn Steinbrink-6/+8
Turns out that the equality check for regions is rather expensive, and the current early exit check works in such a way, that the comparison is even done twice. As we only really care about the case of equal scopes, we can perform a faster, more specialized check and move it up one level, so we can eventually skip the additional full comparison as well.
2019-01-17Auto merge of #57694 - pietroalbini:revert-beta-on-master, r=pietroalbinibors-25/+5
Revert "Auto merge of #57670 - rust-lang:beta-next, r=Mark-Simulacrum" For whatever reason bors merged this in master `:/` r? @ghost
2019-01-17Revert "Auto merge of #57670 - rust-lang:beta-next, r=Mark-Simulacrum"Pietro Albini-25/+5
This reverts commit 722b4d695964906807b12379577bce5ee3d23e08, reversing changes made to 956dba47d33fc8b2bdabcd50e5bfed264b570382.
2019-01-17Querify glob map usage (last use of CrateAnalysis)Igor Matuszewski-62/+30
2019-01-17Remove access level mention from DocContextIgor Matuszewski-3/+0
Leftover from https://github.com/rust-lang/rust/commit/c754e8240cfbeeaca1672c349eccba3d050f866c.
2019-01-17Deny the `overflowing_literals` lint for all editionsOliver Middleton-41/+52
2019-01-17Auto merge of #57520 - alexreg:tidy-copyright-lint, r=Mark-Simulacrumbors-205/+163
Add lint for copyright headers to 'tidy' tool r? @Mark-Simulacrum CC @centril
2019-01-16Fix tidy errors.Alexander Ronald Altman-2/+0
2019-01-17Auto merge of #57670 - rust-lang:beta-next, r=Mark-Simulacrumbors-5/+25
Prepare beta 1.33.0 This PR includes the usual changes for a new beta, and suppresses a few lints on libcore: those lints are false positives caused by an internal attribute (`rustc_layout_scalar_valid_range_start`) and only happen on stage0. r? @Mark-Simulacrum
2019-01-17Add test for linking non-existent static libraryAB1908-0/+13
2019-01-17Auto merge of #56869 - GuillaumeGomez:index-size-reduction, r=QuietMisdreavusbors-25/+98
Reduce search-index.js size Coming from: ``` 1735683 Dec 16 01:35 build/x86_64-apple-darwin/doc/search-index.js ``` to: ``` 727755 Dec 16 01:51 build/x86_64-apple-darwin/doc/search-index.js ``` r? @QuietMisdreavus
2019-01-16Enhance `Pin` impl applicability for `PartialEq` and `PartialOrd`.Alexander Ronald Altman-3/+47
2019-01-17Remove `hir::StmtKind::Decl`.Nicholas Nethercote-272/+150
It's a level of indirection that hurts far more than it helps. The code is simpler without it. (This commit cuts more than 120 lines of code.) In particular, this commit removes some unnecessary `Span`s within `DeclKind` that were always identical to those in the enclosing `Stmt`, and some unnecessary allocations via `P`.
2019-01-17End fixing search index minificationGuillaume Gomez-25/+95
2019-01-17Minify search-index in one passGuillaume Gomez-5/+5
2019-01-17Reduce search-index.js sizeGuillaume Gomez-2/+5
2019-01-17Document Unpin in std::prelude documentationKonrad Borowski-2/+3
2019-01-17Avoid erase_regions_ty queries if there are no regions to eraseBjörn Steinbrink-1/+6
It's overall faster to perform this extra check than to perform the query, even if the result is already in the query cache.
2019-01-16Auto merge of #57392 - Xanewok:always-calc-glob-map, r=petrochenkovbors-43/+13
Always calculate glob map but only for glob uses Previously calculating glob map was *opt-in*, however it did record node id -> ident use for every use directive. This aims to see if we can unconditionally calculate the glob map and not regress performance. Main motivation is to get rid of some of the moving pieces and simplify the compilation interface - this would allow us to entirely remove `CrateAnalysis`. Later, we could easily expose a relevant query, similar to the likes of `maybe_unused_trait_import` (so using precomputed data from the resolver, but which could be rewritten to be on-demand). r? @nikomatsakis Local perf run showed mostly noise (except `ctfe-stress-*`) but I'd appreciate if we could do a perf run run here and double-check that this won't regress performance.
2019-01-16Fix error templateAB1908-1/+1
2019-01-17Make `hir::Stmt` a separate struct.Nicholas Nethercote-87/+92
Benefits: - It lets us move the `NodeId` field out of every `hir::StmtKind` variant `NodeId` to a more sensible spot. - It eliminates sadness in `Stmt::fmt`. - It makes `hir::Stmt` match `ast::Stmt`.
2019-01-16[rustbuild] Rebuild std after changes to codegen backendsJosh Stone-0/+12
Use `clear_if_dirty` on std for backend changes, just as we do for changes to rustc itself, so new codegen is correctly applied to all later compiler stages. Fixes #48298.
2019-01-16Prioritize variants as inherent associated items during name resolutionVadim Petrochenkov-103/+225
2019-01-16Don't explicitly increment the depth for new trait predicatesAaron Hill-5/+71
2019-01-16allow unused warnings related to rustc_layout_scalar_valid_range_startPietro Albini-0/+20
2019-01-16prepare beta 1.33.0Pietro Albini-5/+5
2019-01-16Auto merge of #57321 - petrochenkov:atokens, r=nikomatsakisbors-1625/+1398
Implement basic input validation for built-in attributes Correct top-level shape (`#[attr]` vs `#[attr(...)]` vs `#[attr = ...]`) is enforced for built-in attributes, built-in attributes must also fit into the "meta-item" syntax (aka the "classic attribute syntax"). For some subset of attributes (found by crater run), errors are lowered to deprecation warnings. NOTE: This PR previously included https://github.com/rust-lang/rust/pull/57367 as well.
2019-01-16Fix memory leak in P::filter_mapTatsuyuki Ishi-0/+1
2019-01-16With this change, I am able to build and test cross-platform `rustc`Felix S. Klock II-5/+3
In particular, I can use the following in my `config.toml`: ``` [build] host = ["i686-unknown-linux-gnu", "x86_64-unknown-linux-gnu"] target = ["i686-unknown-linux-gnu", "x86_64-unknown-linux-gnu"] ``` Before this change, my attempt to run the test suite would fail because the error output differs depending on what your host and targets are. ---- To be concrete, here are the actual messages one can observe: ``` % ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/huge-enum.rs -Aunused --target=x86_64-unknown-linux-gnu error: the type `std::option::Option<[u32; 35184372088831]>` is too big for the current architecture error: aborting due to previous error % ./build/x86_64-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/huge-enum.rs -Aunused --target=i686-unknown-linux-gnu error: the type `std::option::Option<[u32; 536870911]>` is too big for the current architecture error: aborting due to previous error % ./build/i686-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/huge-enum.rs -Aunused --target=i686-unknown-linux-gnu error: the type `std::option::Option<[u32; 536870911]>` is too big for the current architecture error: aborting due to previous error % ./build/i686-unknown-linux-gnu/stage1/bin/rustc ../src/test/ui/huge-enum.rs -Aunused --target=x86_64-unknown-linux-gnu error: the type `[u32; 35184372088831]` is too big for the current architecture error: aborting due to previous error ``` To address these variations, I changed the test to be more aggressive in its normalization strategy. We cannot (and IMO should not) guarantee that `Option` will appear in the error output here. So I normalized both types `Option<[u32; N]>` and `[u32; N]` to just `TYPE`
2019-01-16Auto merge of #57416 - alexcrichton:remove-platform-intrinsics, r=nagisabors-15986/+4
rustc: Remove platform intrinsics crate This was originally attempted in #57048 but it was realized that we could fully remove the crate via the `"unadjusted"` ABI on intrinsics. This means that all intrinsics in stdsimd are implemented directly against LLVM rather than using the abstraction layer provided here. That ends up meaning that this crate is no longer used at all. This crate developed long ago to implement the SIMD intrinsics, but we didn't end up using it in the long run. In that case let's remove it!
2019-01-16Remove trailing whitespaceAB1908-1/+0
2019-01-16Fix release manifest generationJethro Beekman-0/+1
2019-01-16Add regression test to close #53787AB1908-0/+33
2019-01-16Remove `hir::Label`.Nicholas Nethercote-13/+2
It's identical to `ast::Label`.
2019-01-15Deprecate the unstable Vec::resize_defaultScott McMurray-0/+4
2019-01-16Use `Lit` rather than `P<Lit>` in `hir::ExprKind`.Nicholas Nethercote-2/+2
It's simpler and makes some benchmark run up to 1% faster. It also makes `hir::ExprKind` more like `ast::ExprKind` (which underwent the equivalent change in #55777).
2019-01-15OSX: fix #57534 registering thread dtors while running thread dtorstyler-24/+45
2019-01-16Updated Book and Reference submodules.Alexander Regueiro-0/+0
2019-01-15Add some links in std::fs.Eric Huss-5/+17
A few items were referenced, but did not have links.
2019-01-15demonstrate symmetryCorey Farwell-1/+1
2019-01-15remove link to removed readmemark-1/+0
2019-01-15update/remove some old readmesmark-161/+85
2019-01-16Fix testsYuki Okushi-24/+2