Skip to content

Set up CI with Azure Pipelines #8

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 10,000 commits into from
Closed

Conversation

azure-pipelines[bot]
Copy link

No description provided.

Centril and others added 30 commits May 3, 2019 16:24
…rrors, r=QuietMisdreavus

report fatal errors during doctest parsing

Fixes rust-lang#59557.
… r=Centril

Tidy: ensure lang features are sorted by since

This is the tidy side of rust-lang#60361.

What is left is actually splitting features into groups and sorting by since.

This PR also likely to produce a small (a couple of lines) merge conflict with rust-lang#60362.

r? @Centril
…ikomatsakis

Disallow non-explicit elided lifetimes in async fn

Fix rust-lang#60203

r? @nikomatsakis
 Do not suggest incorrect syntax on pattern type error due to borrow

Fix rust-lang#55174.
Rename `RUST_LOG` to `RUSTC_LOG`

cc: rust-lang#57985

I think we should also change these submodules:

- rustc-guide
- Cargo (rename to `CARGO_LOG`, cc: rust-lang/cargo#6605, rust-lang/cargo#6189)
- miri
- rls
- rustfmt

r? @davidtwco
…e, r=oli-obk

Require a trait in the bounds of existential types

Fixes rust-lang#53090

r? @oli-obk
…vidtwco

Resolve match arm ty when arms diverge

Fix rust-lang#58695.
… r=oli-obk

Const prop refactoring

This is rebased on top of rust-lang#60428 so only the top commit is new.

This is the refactoring to remove the `mir` field from `ConstPropagator` which is necessary before we can begin to actually propagate constants.

r? @oli-obk
…r=davidtwco

Avoid repeated interning of static strings.

`file_metadata_raw` interns the strings `"<unknown>"` and `""` very
frequently. This commit avoids that, which reduces the number of symbols
interned significantly and reduces instruction counts by up to 0.5% on
some workloads.
…ts, r=cramertj

Propagate mutability from arguments to local bindings in async fn

Fixes rust-lang#60498

cc @nikomatsakis
r? @davidtwco
Rollup of 12 pull requests

Successful merges:

 - rust-lang#59928 (Make deprecation lint `ambiguous_associated_items` deny-by-default)
 - rust-lang#60220 (report fatal errors during doctest parsing)
 - rust-lang#60373 (Tidy: ensure lang features are sorted by since)
 - rust-lang#60388 (Disallow non-explicit elided lifetimes in async fn)
 - rust-lang#60393 ( Do not suggest incorrect syntax on pattern type error due to borrow)
 - rust-lang#60401 (Rename `RUST_LOG` to `RUSTC_LOG`)
 - rust-lang#60409 (Require a trait in the bounds of existential types)
 - rust-lang#60455 (Resolve match arm ty when arms diverge)
 - rust-lang#60457 (Const prop refactoring)
 - rust-lang#60467 (Avoid repeated interning of static strings.)
 - rust-lang#60478 (minor compiler doc tweaks)
 - rust-lang#60501 (Propagate mutability from arguments to local bindings in async fn)

Failed merges:

r? @ghost
This commit adds an rustfmt.toml for using for **new** code.
Old code should continut to use old style, until we put automated
style checks in place.

See
https://internals.rust-lang.org/t/running-rustfmt-on-rust-lang-rust-and-other-rust-lang-repositories/8732/81
for the reason why we deviate from the default formatting. The TL;DR
is that currently compiler uses a pretty condensed style of code, and
default settings both create a huge diff and inflate the number of
lines. use_small_heuristics=Max fixes that.

version=Two is required for bug-fixes, which technically can't be made
to the stable first version
… r=alexcrichton

Fix potential integer overflow in SGX memory range calculation.

Thanks to Eduard Marin and David Oswald at the University of Burmingham, and Jo Van Bulck at KU Leuven for discovering this issue.
Currently when linking an artifact rustc will only conditionally call
the `Linker::export_symbols` function, but this causes issues on some
targets, like WebAssembly, where it means that executable outputs will
not have the same symbols exported that cdylib outputs have. This commit
sinks the conditional call to `export_symbols` inside the various
implementations of the function that still need it, and otherwise the
wasm linker is configured to always pass through symbol visibility
lists.
This commit fixes an ICE where simple bindings (which aren't replaced
with replacement arguments during async fn lowering) were not being
visited in the def collector and thus caused an ICE during HIR lowering
for types that use their `DefId` at that point - such as `impl Trait`.
…ochenkov

rustc: factor out most of hir::def::Def's variants into DefKind, and rename to Res.

The first two commits are about introducing `DefKind`, both to simplify/orthogonalize `hir::def::Def`, and to allow reasoning about the kind of a definition without dealing with the redundant `DefId`.
(There are likely more changes to be made, such as adding enough `DefKind` variants for `tcx.def_kind(def_id)` to return just `DefKind`, not `Option<DefKind>`, but this is pretty big as-is)

The third commit frees up the `Def` name (which we may want to use in the future for "definitions", in the sense of "entities with a `DefId`") by renaming `hir::def::Def` to `Res` ("resolution").
IMO this fits, as it represents all the possible name resolution results, not just "definitions (with a `DefId`)".

Quick examples:
```rust
// Before:
if tcx.describe_def(def_id) == Some(Def::Struct(def_id)) {...}
if let Def::Struct(def_id) = path.def {...}
```
```rust
// After:
if tcx.def_kind(def_id) == Some(DefKind::Struct) {...}
if let Res::Def(DefKind::Struct, def_id) = path.res {...}
```

r? @petrochenkov cc @rust-lang/compiler
bors and others added 25 commits May 10, 2019 04:10
As the infra team we decided to have an hard timeout of 3 hours on all
the jobs: while this sometimes causes spurious timeout errors it's a
great limit to prevent CI time to grow even more.
Co-Authored-By: Jake Goulding <[email protected]>
That was just used because Travis doesn't have time stamps on all log
lines, but Azure does, so no need to add our own.
This commit is intended to go through and review/refactor the azure
pipelines configuration we have. The major changes are:

* The separate `{windows,macos,linux}.yml` files are now all merged into
  one `run.yml`. This allows a shared "master flow" for all platforms
  with divergence only where necessary.

* Some install steps have been separated as `install-*.yml` scripts,
  where each script internally matches on the appropriate OS and then
  delegates accordingly.

* Some various bits and pieces of cruft have been removed which were
  artifacts of Travis's setup or similar.
Make sure there's one dist and one test builder for each of the three
main platforms
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.