about summary refs log tree commit diff
AgeCommit message (Collapse)AuthorLines
2020-03-19Auto merge of #70118 - pietroalbini:rollup-pgjc90i, r=pietroalbinibors-1839/+2027
Rollup of 2 pull requests Successful merges: - #70112 (Rollup of 10 pull requests) - #70116 (ci: use python from the correct path) Failed merges: r? @ghost
2020-03-18Rollup merge of #70116 - pietroalbini:ci-fix-windows-python-path, ↵Pietro Albini-2/+3
r=Mark-Simulacrum ci: use python from the correct path Apparently the old path we were using for Python 2 on Windows was not documented, and eventually got removed. This switches our CI to use the correct path. See https://github.com/rust-lang/rust/pull/70112#issuecomment-600760786 for the actual failure.
2020-03-18Rollup merge of #70112 - Centril:rollup-gpi5tbq, r=CentrilPietro Albini-1837/+2024
Rollup of 10 pull requests Successful merges: - #67749 (keyword docs for else and inkeyword docs for else and in.) - #69139 (clean up E0308 explanation) - #69189 (Erase regions in writeback) - #69837 (Use smaller discriminants for generators) - #69838 (Expansion-driven outline module parsing) - #69839 (Miri error reform) - #69899 (Make methods declared by `newtype_index` macro `const`) - #69920 (Remove some imports to the rustc crate) - #70075 (Fix repr pretty display) - #70106 (Tidy: fix running rustfmt twice) Failed merges: - #70051 (Allow `hir().find` to return `None`) - #70074 (Expand: nix all fatal errors) r? @ghost
2020-03-18ci: use python from the correct pathPietro Albini-2/+3
Apparently the old path we were using for Python 2 on Windows was not documented, and eventually got removed. This switches our CI to use the correct path.
2020-03-18Rollup merge of #70106 - ehuss:fix-tidy-fmt-twice, r=Mark-SimulacrumMazdak Farrokhzad-0/+3
Tidy: fix running rustfmt twice `./x.py test tidy` runs rustfmt twice. This is because `Build::build` runs `execute_cli` twice (once dry, once not). This can be quite slow (and prints a bunch of things twice). I'm not sure if this is really the best place to check the dry_run status.
2020-03-18Rollup merge of #70075 - GuillaumeGomez:fix-repr-display, r=petrochenkovMazdak Farrokhzad-24/+32
Fix repr pretty display Fixes #70027. r? @varkor
2020-03-18Rollup merge of #69920 - Centril:hir-cleanup, r=ZoxcMazdak Farrokhzad-385/+369
Remove some imports to the rustc crate - When we have `NestedVisitorMap::None`, we use `type Map = dyn intravisit::Map<'v>;` instead of the actual map. This doesn't actually result in dynamic dispatch (in the future we may want to use an associated type default to simplify the code). - Use `rustc_session::` imports instead of `rustc::{session, lint}`. r? @Zoxc
2020-03-18Rollup merge of #69899 - ecstatic-morse:const-idx-methods, r=oli-obkMazdak Farrokhzad-52/+53
Make methods declared by `newtype_index` macro `const` Crates that use the macro to define an `Idx` type need to enable `#![feature(const_if_match, const_panic)]`.
2020-03-18Rollup merge of #69839 - RalfJung:miri-error-cleanup, r=oli-obkMazdak Farrokhzad-470/+420
Miri error reform Some time ago we started moving Miri errors into a few distinct categories, but we never classified all the old errors. That's what this PR does. ~~This is on top of https://github.com/rust-lang/rust/pull/69762; [relative diff](https://github.com/RalfJung/rust/compare/validity-errors...RalfJung:miri-error-cleanup).~~ r? @oli-obk Fixes https://github.com/rust-lang/const-eval/issues/4
2020-03-18Rollup merge of #69838 - Centril:expand-module, r=petrochenkovMazdak Farrokhzad-592/+600
Expansion-driven outline module parsing After this PR, the parser will not do any conditional compilation or loading of external module files when `mod foo;` is encountered. Instead, the parser only leaves `mod foo;` in place in the AST, with no items filled in. Expansion later kicks in and will load the actual files and do the parsing. This entails that the following is now valid: ```rust #[cfg(FALSE)] mod foo { mod bar { mod baz; // `foo/bar/baz.rs` doesn't exist, but no error! } } ``` Fixes https://github.com/rust-lang/rust/issues/64197. r? @petrochenkov
2020-03-18Rollup merge of #69837 - jonas-schievink:gen-discr-opt, r=tmandryMazdak Farrokhzad-30/+167
Use smaller discriminants for generators Closes https://github.com/rust-lang/rust/issues/69815 I'm not yet sure about the runtime performance impact of this, so I'll try running this on some benchmarks (if I can find any). (Update: No impact on the benchmarks I've measured on) * [x] Add test with a generator that has exactly 256 total states * [x] Add test with a generator that has more than 256 states so that it needs to use a u16 discriminant * [x] Add tests for the size of `Option<[generator]>` * [x] Add tests for the `discriminant_value` intrinsic in all cases
2020-03-18Rollup merge of #69189 - matthewjasper:erase-the-world, r=nikomatsakisMazdak Farrokhzad-237/+264
Erase regions in writeback Regions in `TypeckTables` (except canonicalized user annotations) are now erased. Further, we no longer do lexical region solving on item bodies with `-Zborrowck=mir`. cc #68261 r? @nikomatsakis
2020-03-18Rollup merge of #69139 - GuillaumeGomez:cleanup-e0308, r=Dylan-DPCMazdak Farrokhzad-42/+60
clean up E0308 explanation r? @Dylan-DPC
2020-03-18Rollup merge of #67749 - gilescope:keyword-in, r=Dylan-DPCMazdak Farrokhzad-5/+56
keyword docs for else and inkeyword docs for else and in. First cut of else and in keyword docs. Comments and suggestions more than welcome.
2020-03-18Tidy: fix running rustfmt twiceEric Huss-0/+3
2020-03-18--bless windows testMazdak Farrokhzad-5/+13
2020-03-18fix rebase falloutMazdak Farrokhzad-7/+4
2020-03-18fix pre-expansion linting infraMazdak Farrokhzad-44/+67
2020-03-18use pretty-compare-only in a testMazdak Farrokhzad-0/+1
2020-03-18tweak outline module parsing spansMazdak Farrokhzad-49/+55
2020-03-18parser/expand: minor cleanupMazdak Farrokhzad-17/+2
2020-03-18add test for stripped nested outline moduleMazdak Farrokhzad-0/+13
2020-03-18{rustc_parse -> rustc_expand}::configMazdak Farrokhzad-16/+8
2020-03-18{rustc_parse::parser -> rustc_expand}::moduleMazdak Farrokhzad-10/+7
2020-03-18move Directory -> parser::moduleMazdak Farrokhzad-23/+24
2020-03-18parse: module parsing -> item.rsMazdak Farrokhzad-65/+66
2020-03-18outline modules: parse -> expand.Mazdak Farrokhzad-180/+116
2020-03-18extract error_on_circular_moduleMazdak Farrokhzad-9/+19
2020-03-18extract parse_external_moduleMazdak Farrokhzad-5/+15
2020-03-18de-fatalize outline module parsingMazdak Farrokhzad-27/+52
2020-03-18expand: use push_directoryMazdak Farrokhzad-9/+9
2020-03-18decouple eval_src_mod from ParserMazdak Farrokhzad-40/+29
2020-03-18decouple push_directory from ParserMazdak Farrokhzad-18/+23
2020-03-18detach submod_path from ParserMazdak Farrokhzad-187/+192
2020-03-18extract error_on_circular_moduleMazdak Farrokhzad-10/+20
2020-03-18extract parse_modMazdak Farrokhzad-17/+18
2020-03-18submod_path: use id.spanMazdak Farrokhzad-16/+11
2020-03-18simplify submod_pathMazdak Farrokhzad-14/+12
2020-03-18extract error_decl_mod_in_blockMazdak Farrokhzad-13/+12
2020-03-18extract error_cannot_declare_mod_hereMazdak Farrokhzad-27/+27
2020-03-18submod_path_from_attr: simplify & documentMazdak Farrokhzad-12/+13
2020-03-18Auto merge of #69907 - ehuss:update-cargo, r=ehussbors-8/+8
Update cargo Update cargo 21 commits in bda50510d1daf6e9c53ad6ccf603da6e0fa8103f..7019b3ed3d539db7429d10a343b69be8c426b576 2020-03-02 18:05:34 +0000 to 2020-03-17 21:02:00 +0000 - Run through clippy (rust-lang/cargo#8015) - Fix config profiles using "dev" in `cargo test`. (rust-lang/cargo#8012) - Run CI on all PRs. (rust-lang/cargo#8011) - Add unit-graph JSON output. (rust-lang/cargo#7977) - Split workspace/validate() into multiple functions (rust-lang/cargo#8008) - Use Option::as_deref (rust-lang/cargo#8005) - De-duplicate edges (rust-lang/cargo#7993) - Revert "Disable preserving mtimes on archives" (rust-lang/cargo#7935) - Close the front door for clippy but open the back (rust-lang/cargo#7533) - Fix CHANGELOG.md typos (rust-lang/cargo#7999) - Update changelog note about crate-versions flag. (rust-lang/cargo#7998) - Bump to 0.45.0, update changelog (rust-lang/cargo#7997) - Bump libgit2 dependencies (rust-lang/cargo#7996) - Avoid buffering large amounts of rustc output. (rust-lang/cargo#7838) - Add "Updating" status for git submodules. (rust-lang/cargo#7989) - WorkspaceResolve: Use descriptive lifetime label. (rust-lang/cargo#7990) - Support old html anchors in manifest chapter. (rust-lang/cargo#7983) - Don't create hardlink for library test and integrations tests, fixing rust-lang/cargo#7960 (rust-lang/cargo#7965) - Partially revert change to filter debug_assertions. (rust-lang/cargo#7970) - Try to better handle restricted crate names. (rust-lang/cargo#7959) - Fix bug with new feature resolver and required-features. (rust-lang/cargo#7962)
2020-03-17Update cargoEric Huss-8/+8
2020-03-18Auto merge of #68915 - timvermeulen:non_fused_iter, r=Amanieubors-9/+90
Fix bugs in Peekable and Flatten when using non-fused iterators I fixed a couple of bugs with regard to the `Peekable` and `Flatten`/`FlatMap` iterators when the underlying iterator isn't fused. For testing, I also added a `NonFused` iterator wrapper that panics when `next` or `next_back` is called on an iterator that has returned `None` before, which will hopefully make it easier to spot these mistakes in the future. ### Peekable `Peekable::next_back` was implemented as ```rust self.iter.next_back().or_else(|| self.peeked.take().and_then(|x| x)) ``` which is incorrect because when the `peeked` field is `Some(None)`, then `None` has already been returned from the inner iterator and what it returns from `next_back` can no longer be relied upon. `test_peekable_non_fused` tests this. ### Flatten When a `FlattenCompat` instance only has a `backiter` remaining (i.e. `self.frontiter` is `None` and `self.iter` is empty), then `next` will call `self.iter.next()` every time, so the `iter` field needs to be fused. I fixed it by giving it the type `Fuse<I>` instead of `I`, I think this is the only way to fix it. `test_flatten_non_fused_outer` tests this. Furthermore, previously `FlattenCompat::next` did not set `self.frontiter` to `None` after it returned `None`, which is incorrect when the inner iterator type isn't fused. I just delegated it to `try_fold` because that already handles it correctly. `test_flatten_non_fused_inner` tests this. r? @scottmcm
2020-03-17Auto merge of #70020 - matthiaskrgr:submodule_upd, r=ehussbors-13/+8
submodules: update clippy from 8485d40a to d556bb73 Changes: ```` rustup https://github.com/rust-lang/rust/pull/68944 rustup https://github.com/rust-lang/rust/pull/69589/ Rustup to rust-lang/rust#69076 Don't convert Path to lossy str Use `into_path` Use pattern matching instead of manually checking condition Fix typo Remove git2 dependency. Document that wildcard_imports doesn't warn about `use ...::prelude::*;` Change changelog formatting Update changelog_update doc to reflect the actual ordering of the changelog Update CHANGELOG.md ```` Fixes #70007
2020-03-17Update rustdoc test and remove TODO commentGuillaume Gomez-2/+1
2020-03-17Update pretty testsGuillaume Gomez-18/+17
2020-03-17Auto merge of #69519 - 12101111:remove-proc-macro-check, r=nagisabors-17/+47
Don't use static crt by default when build proc-macro Don't check value of `crt-static` when build proc-macro crates, since they are always built dynamically. For more information, see https://github.com/rust-lang/cargo/issues/7563#issuecomment-591965320 I hope this will fix issues about compiling `proc_macro` crates on musl host without bring more issues. Fix https://github.com/rust-lang/cargo/issues/7563
2020-03-17Hold index of generator `self` arg in `const`Dylan MacKenzie-21/+18
2020-03-17Add requisite feature gates for const assertDylan MacKenzie-0/+22