about summary refs log tree commit diff
path: root/src/test/run-pass-fulldeps
AgeCommit message (Collapse)AuthorLines
2019-04-21Use sysroot libserialize in newtype_index testIgor Matuszewski-1/+1
2019-04-03reduce repetition in librustc(_lint) wrt. impl LintPassMazdak Farrokhzad-13/+6
2019-03-15Auto merge of #58556 - oli-obk:imperative_recursion, r=pnkfelixbors-0/+26
Optimize copying large ranges of undefmask blocks Hopefully fixes #58523
2019-03-14Moved issue tests to subdirs and normalised names.Alexander Regueiro-12/+12
2019-03-10Make the rustc driver and interface demand drivenJohn Kåre Alsaker-71/+10
2019-03-04Use bit operations for setting large ranges of bits in a u64Oliver Scherer-1/+1
2019-03-04Test the `UndefMask` typeOliver Scherer-0/+26
2019-02-27Rename variadic to c_variadicDan Robertson-1/+1
Function signatures with the `variadic` member set are actually C-variadic functions. Make this a little more explicit by renaming the `variadic` boolean value, `c_variadic`.
2019-02-20hir: HirId-ify intravisitljedrz-3/+3
2019-02-12Auto merge of #58341 - alexreg:cosmetic-2-doc-comments, r=steveklabnikbors-2/+2
Cosmetic improvements to doc comments This has been factored out from https://github.com/rust-lang/rust/pull/58036 to only include changes to documentation comments (throughout the rustc codebase). r? @steveklabnik Once you're happy with this, maybe we could get it through with r=1, so it doesn't constantly get invalidated? (I'm not sure this will be an issue, but just in case...) Anyway, thanks for your advice so far!
2019-02-11Use `Rc<[Symbol]>` instead of `Vec<Symbol>` to reduce # of allocsOliver Scherer-1/+1
2019-02-11Update fulldeps testOliver Scherer-1/+1
2019-02-10tests: doc commentsAlexander Regueiro-2/+2
2019-02-06Overhaul `syntax::fold::Folder`.Nicholas Nethercote-24/+28
This commit changes `syntax::fold::Folder` from a functional style (where most methods take a `T` and produce a new `T`) to a more imperative style (where most methods take and modify a `&mut T`), and renames it `syntax::mut_visit::MutVisitor`. The first benefit is speed. The functional style does not require any reallocations, due to the use of `P::map` and `MoveMap::move_{,flat_}map`. However, every field in the AST must be overwritten; even those fields that are unchanged are overwritten with the same value. This causes a lot of unnecessary memory writes. The imperative style reduces instruction counts by 1--3% across a wide range of workloads, particularly incremental workloads. The second benefit is conciseness; the imperative style is usually more concise. E.g. compare the old functional style: ``` fn fold_abc(&mut self, abc: ABC) { ABC { a: fold_a(abc.a), b: fold_b(abc.b), c: abc.c, } } ``` with the imperative style: ``` fn visit_abc(&mut self, ABC { a, b, c: _ }: &mut ABC) { visit_a(a); visit_b(b); } ``` (The reductions get larger in more complex examples.) Overall, the patch removes over 200 lines of code -- even though the new code has more comments -- and a lot of the remaining lines have fewer characters. Some notes: - The old style used methods called `fold_*`. The new style mostly uses methods called `visit_*`, but there are a few methods that map a `T` to something other than a `T`, which are called `flat_map_*` (`T` maps to multiple `T`s) or `filter_map_*` (`T` maps to 0 or 1 `T`s). - `move_map.rs`/`MoveMap`/`move_map`/`move_flat_map` are renamed `map_in_place.rs`/`MapInPlace`/`map_in_place`/`flat_map_in_place` to reflect their slightly changed signatures. - Although this commit renames the `fold` module as `mut_visit`, it keeps it in the `fold.rs` file, so as not to confuse git. The next commit will rename the file.
2019-01-26Auto merge of #57726 - Zoxc:combine-early-lints, r=estebankbors-0/+8
Combine all builtin early lints This also adds a -Z no-interleave-lints option to allow benchmarking lints. r? @estebank
2019-01-24Remove quote_*! macros and associated APIsMark Simulacrum-729/+27
2019-01-19Fix lints in testsJohn Kåre Alsaker-0/+8
2018-12-27Get rid of `Block::recovered`Vadim Petrochenkov-1/+0
2018-12-25Remove licensesMark Rousskov-841/+0
2018-12-23stabilize min_const_unsafe_fn in 1.33.Mazdak Farrokhzad-1/+1
2018-12-07Auto merge of #56502 - Zoxc:hir-func, r=eddybbors-2/+2
Use a function to access the Hir map to be able to turn it into a query later r? @eddyb
2018-12-07Unsupport `#[derive(Trait)]` sugar for `#[derive_Trait]` legacy plugin ↵Vadim Petrochenkov-16/+12
attributes
2018-12-06Use a function to access the Hir map to be able to turn it into a query laterJohn Kåre Alsaker-2/+2
2018-12-06Auto merge of #55635 - oli-obk:min_const_unsafe_fn, r=nikomatsakisbors-1/+1
Allow calling `const unsafe fn` in `const fn` behind a feature gate cc #55607 r? @Centril
2018-12-06Auto merge of #54517 - mcr431:53956-panic-on-include_bytes-of-own-file, ↵bors-3/+5
r=michaelwoerister 53956 panic on include bytes of own file fix #53956 When using `include_bytes!` on a source file in the project, compiler would panic on subsequent compilations because `expand_include_bytes` would overwrite files in the source_map with no source. This PR changes `expand_include_bytes` to check source_map and use the already existing src, if any.
2018-12-04updates all Filename variants to take a fingerprintMatthew Russo-3/+5
2018-12-04Add and update testsOliver Scherer-1/+0
2018-12-04Adjust a rustc test to the safety changesOliver Scherer-1/+2
2018-12-04Fix testShotaro Yamada-1/+0
2018-11-30tests: move all proc_macro tests from -fulldeps.Eduard-Mihai Burtescu-2310/+0
2018-11-30tests: remove ignore-stage1 where possible in proc_macro tests.Eduard-Mihai Burtescu-29/+1
2018-11-27remove uses of feature gateMark Mansi-2/+0
2018-11-23Fix proc-macro test after internal API changeEsteban Küber-2/+2
2018-11-18Rollup merge of #55564 - smaeul:test-fixes-2, r=alexcrichtonPietro Albini-0/+2
test/linkage-visibility: Ignore on musl targets DynamicLibrary uses libc's dlsym() function internally to find symbols. Some implementations of dlsym(), like musl's, only look at dynamically- exported symbols, as found in shared libraries. To also export symbols from the main executable, pass --export-dynamic to the linker. (Plus see [here](https://stackoverflow.com/questions/4184017) and [here](https://stackoverflow.com/questions/6121838) for examples of where this is necessary on glibc as well.)
2018-11-15test/linkage-visibility: Ignore on musl targetsSamuel Holland-0/+2
DynamicLibrary uses libc's dlsym() function internally to find symbols. Some implementations of dlsym(), like musl's, only look at dynamically- exported symbols, as found in shared libraries. To also export symbols from the main executable, we would need to pass --export-dynamic to the linker. Since this flag isn't available everywhere, ignore the test for now.
2018-11-15Rollup merge of #55750 - oli-obk:node_id_x, r=michaelwoeristerPietro Albini-1/+1
Make `NodeId` and `HirLocalId` `newtype_index`
2018-11-12Fix fulldeps test with NodeIdOliver Scherer-1/+1
2018-11-11Fix typos.Bruce Mitchener-1/+1
2018-10-23Point at macro definition when no rules expect tokenEsteban Küber-1/+2
2018-10-19Update more internals tests to `default`Oliver Scherer-2/+2
2018-10-19Update a compiler-test to the `Default` changesOliver Scherer-1/+1
2018-10-07Auto merge of #54835 - ↵bors-1/+1
oli-obk:mögen_konstante_funktionen_doch_bitte_endlich_stabil_sein, r=Centril Stabilize `min_const_fn` tracking issue: #53555 r? @Centril
2018-10-07Auto merge of #54451 - alexcrichton:no-mangle-extern-linkage, r=michaelwoeristerbors-2/+2
rustc: Allow `#[no_mangle]` anywhere in a crate This commit updates the compiler to allow the `#[no_mangle]` (and `#[export_name]` attributes) to be located anywhere within a crate. These attributes are unconditionally processed, causing the compiler to always generate an exported symbol with the appropriate name. After some discussion on #54135 it was found that not a great reason this hasn't been allowed already, and it seems to match the behavior that many expect! Previously the compiler would only export a `#[no_mangle]` symbol if it were *publicly reachable*, meaning that it itself is `pub` and it's otherwise publicly reachable from the root of the crate. This new definition is that `#[no_mangle]` *is always reachable*, no matter where it is in a crate or whether it has `pub` or not. This should make it much easier to declare an exported symbol with a known and unique name, even when it's an internal implementation detail of the crate itself. Note that these symbols will persist beyond LTO as well, always making their way to the linker. Along the way this commit removes the `private_no_mangle_functions` lint (also for statics) as there's no longer any need to lint these situations. Furthermore a good number of tests were updated now that symbol visibility has been changed. Closes #54135
2018-10-06rustc: Allow `#[no_mangle]` anywhere in a crateAlex Crichton-2/+2
This commit updates the compiler to allow the `#[no_mangle]` (and `#[export_name]` attributes) to be located anywhere within a crate. These attributes are unconditionally processed, causing the compiler to always generate an exported symbol with the appropriate name. After some discussion on #54135 it was found that not a great reason this hasn't been allowed already, and it seems to match the behavior that many expect! Previously the compiler would only export a `#[no_mangle]` symbol if it were *publicly reachable*, meaning that it itself is `pub` and it's otherwise publicly reachable from the root of the crate. This new definition is that `#[no_mangle]` *is always reachable*, no matter where it is in a crate or whether it has `pub` or not. This should make it much easier to declare an exported symbol with a known and unique name, even when it's an internal implementation detail of the crate itself. Note that these symbols will persist beyond LTO as well, always making their way to the linker. Along the way this commit removes the `private_no_mangle_functions` lint (also for statics) as there's no longer any need to lint these situations. Furthermore a good number of tests were updated now that symbol visibility has been changed. Closes #54135
2018-10-05Auto merge of #54336 - petrochenkov:preuni, r=alexcrichtonbors-1/+1
resolve: Some refactorings in preparation for uniform paths 2.0 The main result is that in-scope resolution performed during macro expansion / import resolution is now consolidated in a single function (`fn early_resolve_ident_in_lexical_scope`), which can now be used for resolving first import segments as well when uniform paths are enabled. r? @ghost
2018-10-05Stabilize `min_const_fn`Oliver Schneider-1/+1
2018-10-05expansion: Remove restriction on use of macro attributes with test/benchVadim Petrochenkov-1/+1
The restrictions were introduced in https://github.com/rust-lang/rust/pull/54277 and no longer necessary now because legacy plugins are now expanded in usual left-to-right order
2018-10-02Merge the `proc_macro_` expansion feature gates into a single ↵jeb-14/+14
`proc_macro_hygiene` gate.
2018-09-27Bump to 1.31.0 and bootstrap from 1.30 betaJosh Stone-2/+0
2018-09-26Auto merge of #53824 - ljedrz:begone_onevector, r=michaelwoeristerbors-3/+4
Remove OneVector, increase related SmallVec capacities Removes the `OneVector` type alias (equivalent to `SmallVec<[T; 1]>`); it is used in scenarios where the capacity of 1 is often exceeded, which might be nullifying the performance wins (due to spilling to the heap) expected when using `SmallVec` instead of `Vec`. The numbers I used in this PR are very rough estimates - it would probably be a good idea to adjust some/all of them, which is what this proposal is all about. It might be a good idea to additionally create some local type aliases for the `SmallVec`s in the `Folder` trait, as they are repeated in quite a few spots; I'd be happy to apply this sort of adjustments.