about summary refs log tree commit diff
path: root/src/test/run-pass/generator
AgeCommit message (Collapse)AuthorLines
2019-08-14move test that shouldn't be in test/run-pass/Mazdak Farrokhzad-17/+0
2019-08-07Rollup merge of #63034 - tmandry:reduce-generator-size-regressions, r=cramertjMazdak Farrokhzad-0/+17
Fix generator size regressions due to optimization I tested the generator optimizations in #60187 and #61922 on the Fuchsia build, and noticed that some small generators (about 8% of the async fns in our build) increased in size slightly. This is because in #60187 we split the fields into two groups, a "prefix" non-overlap region and an overlap region, and lay them out separately. This can introduce unnecessary padding bytes between the two groups. In every single case in the Fuchsia build, it was due to there being only a single variant being used in the overlap region. This means that we aren't doing any overlapping, period. So it's better to combine the two regions into one and lay out all the fields at once, which is what this change does. r? @cramertj cc @eddyb @Zoxc
2019-08-02Add niche-in-generator testTyler Mandry-0/+17
2019-07-27tests: Move run-pass tests without naming conflicts to uiVadim Petrochenkov-1109/+0
2019-07-27tests: Add missing run-pass annotationsVadim Petrochenkov-0/+5
2019-07-25Rollup merge of #62707 - JohnTitor:add-test-for-61922, r=tmandryMazdak Farrokhzad-0/+12
Add tests for overlapping explicitly dropped locals in generators Closes #62686 r? @tmandry
2019-07-25Use Foo instead of raw arraysYuki Okushi-3/+3
2019-07-22Fix or ignore regressed testsVadim Petrochenkov-0/+1
2019-07-16Add tests for overlapping explicitly dropped locals in generatorsYuki Okushi-0/+12
2019-06-28Use RequiresStorage to determine which locals can overlapTyler Mandry-4/+18
2019-06-28Add size tests for moved locals in generatorsTyler Mandry-0/+48
2019-06-22Move run-pass test to run-pass/generatorAaron Hill-0/+34
2019-06-10Add test suiteTyler Mandry-0/+27
2019-06-04Add test for DropAndReplace bugTyler Mandry-0/+44
2019-05-24Move async/await tests to test/ui/async-awaitvarkor-23/+0
2019-05-06Add test for #59972Tyler Mandry-0/+23
2019-04-22update tests for migrate mode by defaultMatthew Jasper-3/+0
2019-03-08Rollup merge of #58918 - gilescope:async-await-issue-testcase, r=petrochenkovPietro Albini-0/+28
Regression test added for an async ICE. Regression test for #57084 (as suggested in issue).
2019-03-06Desugared asyncs into generators and minimised.Giles Cope-12/+13
2019-03-05Removed whitespaceGiles Cope-1/+1
2019-03-05Unrolled await macro.Giles Cope-0/+27
Was then able to the minimise the reproduction a little further.
2019-03-04Monomorphize generator field types for debuginfoWim Looman-0/+27
2019-01-27Mark non-static generators as always UnpinWim Looman-1/+19
2019-01-27impl Generator for Pin<Box<Generator>>Wim Looman-0/+13
2019-01-27Change generator trait to use pinningWim Looman-50/+64
2019-01-26Replace deprecated ATOMIC_INIT constsMark Rousskov-6/+6
2018-12-30Remove unused nll debug flagsMatthew Jasper-1/+0
2018-12-25Remove licensesMark Rousskov-250/+0
2018-09-26Add `#![allow(..)]` as necessary to get re-migrated run-pass tests compiling ↵Felix S. Klock II-0/+6
with clean stderr again. Most were added mechanically.
2018-09-26Migrate `src/test/ui/run-pass/*` back to `src/test/run-pass/`.Felix S. Klock II-0/+1072
Fix #54047
2018-09-06Migrated remaining `src/test/run-pass/` subdirectories to ↵Felix S. Klock II-1026/+0
`src/test/ui/run-pass/`.
2018-08-07Record adjustments and original type for expressions in the generator interiorJohn Kåre Alsaker-0/+35
2018-07-31Don't count MIR locals as borrowed after StorageDead when finding locals ↵John Kåre Alsaker-0/+25
live across a yield terminator
2018-03-26Stabilize conservative_impl_traitTaylor Cramer-5/+5
2018-03-25Rollup merge of #49194 - Zoxc:unsafe-generator, r=cramertjkennytm-45/+49
Make resuming generators unsafe instead of the creation of immovable generators cc @withoutboats Fixes #47787
2018-03-22Added flag to disable user type assertion.David Wood-0/+1
2018-03-21Make resuming generators unsafe instead of the creation of immovable ↵John Kåre Alsaker-45/+49
generators. Fixes #47787
2018-01-30Force locals to be live after they are borrowed for immovable generators. ↵John Kåre Alsaker-0/+28
Fixes #47736
2018-01-23Make immovable generators unsafeJohn Kåre Alsaker-6/+8
2018-01-23Adds support for immovable generators. Move checking of invalid borrows ↵John Kåre Alsaker-0/+139
across suspension points to borrowck. Fixes #44197, #45259 and #45093.
2018-01-19Run yield-subtype test on nll mode too as a regression checkSantiago Pastorino-0/+3
2017-12-30Add trailing newlines to files which have no trailing newlines.kennytm-3/+3
2017-11-19std: Add a new wasm32-unknown-unknown targetAlex Crichton-0/+6
This commit adds a new target to the compiler: wasm32-unknown-unknown. This target is a reimagining of what it looks like to generate WebAssembly code from Rust. Instead of using Emscripten which can bring with it a weighty runtime this instead is a target which uses only the LLVM backend for WebAssembly and a "custom linker" for now which will hopefully one day be direct calls to lld. Notable features of this target include: * There is zero runtime footprint. The target assumes nothing exists other than the wasm32 instruction set. * There is zero toolchain footprint beyond adding the target. No custom linker is needed, rustc contains everything. * Very small wasm modules can be generated directly from Rust code using this target. * Most of the standard library is stubbed out to return an error, but anything related to allocation works (aka `HashMap`, `Vec`, etc). * Naturally, any `#[no_std]` crate should be 100% compatible with this new target. This target is currently somewhat janky due to how linking works. The "linking" is currently unconditional whole program LTO (aka LLVM is being used as a linker). Naturally that means compiling programs is pretty slow! Eventually though this target should have a linker. This target is also intended to be quite experimental. I'm hoping that this can act as a catalyst for further experimentation in Rust with WebAssembly. Breaking changes are very likely to land to this target, so it's not recommended to rely on it in any critical capacity yet. We'll let you know when it's "production ready". --- Currently testing-wise this target is looking pretty good but isn't complete. I've got almost the entire `run-pass` test suite working with this target (lots of tests ignored, but many passing as well). The `core` test suite is still getting LLVM bugs fixed to get that working and will take some time. Relatively simple programs all seem to work though! --- It's worth nothing that you may not immediately see the "smallest possible wasm module" for the input you feed to rustc. For various reasons it's very difficult to get rid of the final "bloat" in vanilla rustc (again, a real linker should fix all this). For now what you'll have to do is: cargo install --git https://github.com/alexcrichton/wasm-gc wasm-gc foo.wasm bar.wasm And then `bar.wasm` should be the smallest we can get it! --- In any case for now I'd love feedback on this, particularly on the various integration points if you've got better ideas of how to approach them!
2017-10-17test: Update Emscripten failures/passingAlex Crichton-1/+1
All tests should now have annotation for *why* they're ignored on emscripten. A few tests no longer need such an annotation as well! Closes #41299
2017-09-20address review commentsAriel Ben-Yehuda-0/+30
2017-09-20Mark yields after visiting subexpressions. Never ignore yields for scopes in ↵John Kåre Alsaker-21/+0
bindings.
2017-09-20Only consider yields coming after the expressions when computing generator ↵John Kåre Alsaker-0/+62
interiors
2017-09-13Analyse storage liveness and preserve it during generator transformationJohn Kåre Alsaker-0/+30
2017-08-30rustc: Fix reachability with cross-crate generatorsAlex Crichton-0/+45
Same solution as in f2df1857 Closes #44181
2017-08-27Ignore a threaded test on emscriptenAlex Crichton-0/+1