summary refs log tree commit diff
path: root/src/librustc_driver/test.rs
AgeCommit message (Collapse)AuthorLines
2018-07-17Auto merge of #52285 - ljedrz:dyn_librustc_driver, r=nikomatsakisbors-4/+4
Deny bare trait objects in librustc_driver Enforce `#![deny(bare_trait_objects)]` in `src/librustc_driver`.
2018-07-16ItemKindcsmoe-18/+18
2018-07-12Deny bare trait objects in librustc_driverljedrz-4/+4
2018-06-18Auto merge of #51248 - fabric-and-ink:newtype_index_debrujin, r=nikomatsakisbors-1/+1
Declare DebruijnIndex via newtype_index macro Part of #49887 Declare `DebruijnIndex` via the `newtype_index` macro.
2018-06-18Auto merge of #51414 - oli-obk:impl_trait_type_def, r=pnkfelixbors-0/+1
Add existential type definitions Note: this does not allow creating named existential types, it just desugars `impl Trait` to a less (but still very) hacky version of actual `existential type` items. r? @nikomatsakis
2018-06-15Fix compile errorFabian Drinck-1/+1
2018-06-14Circumvent const fn problemFabian Drinck-1/+1
2018-06-14Fix compile errorFabian Drinck-1/+1
2018-06-14rustc: rename ty::maps to ty::query.Eduard-Mihai Burtescu-3/+3
2018-06-11Update testsOliver Schneider-0/+1
2018-06-06Use scope tree depths to speed up `nearest_common_ancestor`.Nicholas Nethercote-3/+4
This patch adds depth markings to all entries in the `ScopeTree`'s `parent_map`. This change increases memory usage somewhat, but permits a much faster algorithm to be used: - If one scope has a greater depth than the other, the deeper scope is moved upward until they are at equal depths. - Then we move the two scopes upward in lockstep until they match. This avoids the need to keep track of which scopes have already been seen, which was the major part of the cost of the old algorithm. It also reduces the number of child-to-parent moves (which are hash table lookups) when the scopes start at different levels, because it never goes past the nearest common ancestor the way the old algorithm did. Finally, the case where one of the scopes is the root is now handled in advance, because that is moderately common and lets us skip everything. This change speeds up runs of several rust-perf benchmarks, the best by 6%.
2018-05-28stop invoking `DebruijnIndex::new` directlyNiko Matsakis-7/+10
Co-authored-by: csmoe <35686186+csmoe@users.noreply.github.com>
2018-05-17Rename trans to codegen everywhere.Irina Popa-1/+1
2018-05-15Pull common parameters into GenericParamDefvarkor-1/+1
This leads to a lot of simplifications, as most code doesn't actually need to know about the specific lifetime/type data; rather, it's concerned with properties like name, index and def_id.
2018-05-13Add a Rayon thread poolJohn Kåre Alsaker-8/+13
2018-04-27Rename InternedString to LocalInternedString and introduce a new thread-safe ↵John Kåre Alsaker-2/+2
InternedString
2018-04-26rustc_target: move in syntax::abi and flip dependency.Irina Popa-1/+1
2018-04-24Make Binder's field private and clean up its usageTyler Mandry-1/+1
2018-04-17Make Handler more thread-safeJohn Kåre Alsaker-5/+5
2018-04-13Use InternedString rather than Name for RegionParameterDefvarkor-1/+1
This makes it consistent with TypeParameterDef.
2018-04-06Fix error in rustc_driver::test.Michael Woerister-1/+1
2018-03-23Revert "fix tests in `librustc_driver`"Sean Griffin-2/+1
This reverts commit 17df455c2eda9717e2d7ff2f43809b553852d7e6.
2018-03-14Auto merge of #47630 - canndrew:exhaustive-patterns, r=nikomatsakisbors-5/+5
Stabilise feature(never_type). Introduce feature(exhaustive_patterns) This stabilizes `!`, removing the feature gate as well as the old defaulting-to-`()` behavior. The pattern exhaustiveness checks which were covered by `feature(never_type)` have been moved behind a new `feature(exhaustive_patterns)` gate.
2018-03-14Remove syntax and syntax_pos thread localsJohn Kåre Alsaker-1/+12
2018-03-14remove defaulting to unitAndrew Cann-5/+5
Types will no longer default to `()`, instead always defaulting to `!`. This disables the associated warning and removes the flag from TyTuple
2018-03-13refactor `ParamEnv::empty(Reveal)` into two distinct methodsNiko Matsakis-2/+2
- `ParamEnv::empty()` -- does not reveal all, good for typeck - `ParamEnv::reveal_all()` -- does, good for trans - `param_env.with_reveal_all()` -- converts an existing parameter environment
2018-03-02Replace Rc with Lrc for shared dataJohn Kåre Alsaker-5/+5
2018-03-01fix tests in `librustc_driver`Niko Matsakis-1/+2
2018-02-23Introduce UnpackedKindvarkor-4/+4
This adds an `UnpackedKind` type as a typesafe counterpart to `Kind`. This should make future changes to kinds (such as const generics!) more resilient, as the type-checker should catch more potential issues.
2018-01-19Fix rustc_driver test.rsbjorn3-1/+0
2018-01-19Fix rustc_driver test.rsbjorn3-3/+1
2018-01-19Allow runtime switching between trans backendsbjorn3-1/+1
2018-01-13Remove `impl Foo for ..` in favor of `auto trait Foo`leonardo.yvens-2/+1
No longer parse it. Remove AutoTrait variant from AST and HIR. Remove backwards compatibility lint. Remove coherence checks, they make no sense for the new syntax. Remove from rustdoc.
2017-12-21Combine GlobalArenas and DroplessArena into AllArenasJohn Kåre Alsaker-4/+1
2017-12-14trait alias falloutAlex Burka-0/+1
2017-12-14Use PathBuf instead of String where applicableOliver Schneider-2/+2
2017-12-11move `resolve_lifetimes` into a proper queryNiko Matsakis-3/+0
Now that we made `resolve_lifetimes` into a query, elision errors no longer abort compilation, which affects some tests. Also, remove `dep_graph_crosscontaminate_tables` -- there is no a path in the dep-graph, though red-green handles it. The same scenario is (correctly) tested by issue-42602.rs in any case.
2017-12-04make `resolve_regions_and_report_errors` take an `OutlivesEnv`Niko Matsakis-4/+5
This revealed some shortcomings, one of which is fixed. Fixes #45937.
2017-11-17strip old lub-glb tests from `librustc_driver`Niko Matsakis-212/+0
Good riddance.
2017-11-14rustc: move the MIR pass infrastructure and list to rustc_mir.Eduard-Mihai Burtescu-2/+0
2017-11-03[Syntax Breaking] Rename DefaultImpl to AutoImplleonardo.yvens-1/+1
DefaultImpl is a highly confusing name for what we now call auto impls, as in `impl Send for ..`. The name auto impl is not formally decided but for sanity anything is better than `DefaultImpl` which refers neither to `default impl` nor to `impl Default`.
2017-10-25Fix librustc_driver unit test after API change.Michael Woerister-0/+2
2017-09-23Fix errorbjorn3-1/+2
2017-09-23Add TransCrate traitbjorn3-1/+1
2017-09-20incr.comp.: Add some comments.Michael Woerister-1/+1
2017-09-18incr.comp.: Remove tcx from StableHashingContext.Michael Woerister-1/+1
2017-09-17rustc: Move codegen to a queryAlex Crichton-0/+14
This commit moves the actual code generation in the compiler behind a query keyed by a codegen unit's name. This ended up entailing quite a few internal refactorings to enable this, along with a few cut corners: * The `OutputFilenames` structure is now tracked in the `TyCtxt` as it affects a whole bunch of trans and such. This is now behind a query and threaded into the construction of the `TyCtxt`. * The `TyCtxt` now has a channel "out the back" intended to send data to worker threads in rustc_trans. This is used as a sort of side effect of the codegen query but morally what's happening here is the return value of the query (currently unit but morally a path) is only valid once the background threads have all finished. * Dispatching work items to the codegen threads was refactored to only rely on data in `TyCtxt`, which mostly just involved refactoring where data was stored, moving it from the translation thread to the controller thread's `CodegenContext` or the like. * A new thread locals was introduced in trans to work around the query system. This is used in the implementation of `assert_module_sources` which looks like an artifact of the old query system and will presumably go away once red/green is up and running.
2017-09-14rustc: Remove `Session::dep_graph`Alex Crichton-5/+0
This commit removes the `dep_graph` field from the `Session` type according to issue #44390. Most of the fallout here was relatively straightforward and the `prepare_session_directory` function was rejiggered a bit to reuse the results in the later-called `load_dep_graph` function. Closes #44390
2017-09-12Remove the `cstore` reference from Session in order to prepare encapsulating ↵Michael Woerister-3/+3
CrateStore access in tcx.
2017-09-11rustc: replace usize with u64 and ConstUsize.Eduard-Mihai Burtescu-11/+11