Skip to content
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

Rollup of 13 pull requests #62920

Closed
wants to merge 37 commits into from
Closed

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Jul 23, 2019

Successful merges:

Failed merges:

r? @ghost

varkor and others added 30 commits July 1, 2019 00:52
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
Given

```
mented on Jan 26, 2015 •
 trait Foo { fn method(&self) {} }

fn call_method<T>(x: &T) {
    x.method()
}
```

suggest constraining `T` with `Foo`.
I think this was left out by accident from the "convert everything to
rlibs" commit, there's no need for this to be a dylib just as everything
else doesn't need to be a dylib!
Usages still appear in cloudabi tests and in the reentrant mutex implementation
Remove uses of mem::uninitialized, which is now deprecated
…=Dylan-DPC

Fix some sanity checks

Update: Changes that made it not to work dropped.

* Fix `building_llvm` in sanity check
  * This was subtly broken: we build LLVM if any of the hosts builds LLVM, and not setting the config meant that LLVM is built for that target. Because of filtering away the targets not configured and the semantics of `Iterator::any`, it currently didn't set the `building_llvm` flag even if we indeed build it.
* Add `swig` sanity check
  * This checks whether there is a `swig` executable needed for LLDB.
…inhabited-subst, r=oli-obk

Take substs into account in `conservative_is_privately_uninhabited`
Add joining slices of slices with a slice separator, not just a single item

rust-lang#27747 (comment)
> It's kinda annoying to be able to join strings with a str (which can have multiple chars), but joining a slice of slices, you can only join with a single element.

This turns out to be fixable, with some possible inference regressions.

# TL;DR

Related trait(s) are unstable and tracked at rust-lang#27747, but the `[T]::join` method that is being extended here is already stable.

Example use of the new insta-stable functionality:

```rust
let nested: Vec<Vec<Foo>> = /* … */;
let separator: &[Foo] = /* … */;  // Previously: could only be a single &Foo
nested.join(separator)
```

Complete API affected by this PR, after changes:

```rust
impl<T> [T] {
    pub fn concat<Item: ?Sized>(&self) -> <Self as Concat<Item>>::Output
        where Self: Concat<Item>
    {
        Concat::concat(self)
    }
    pub fn join<Separator>(&self, sep: Separator) -> <Self as Join<Separator>>::Output
        where Self: Join<Separator>
    {
        Join::join(self, sep)
    }
}

// The `Item` parameter is only useful for the the slice-of-slices impl.
pub trait Concat<Item: ?Sized> {
    type Output;
    fn concat(slice: &Self) -> Self::Output;
}

pub trait Join<Separator> {
    type Output;
    fn join(slice: &Self, sep: Separator) -> Self::Output;
}

impl<T: Clone, V: Borrow<[T]>> Concat<T> for [V] {
    type Output = Vec<T>;
}

impl<T: Clone, V: Borrow<[T]>> Join<&'_ T> for [V] {
    type Output = Vec<T>;
}

// New functionality here!
impl<T: Clone, V: Borrow<[T]>> Join<&'_ [T]> for [V] {
    type Output = Vec<T>;
}

impl<S: Borrow<str>> Concat<str> for [S] {
    type Output = String;
}

impl<S: Borrow<str>> Join<&'_ str> for [S] {
    type Output = String;
}
```

# Details

After rust-lang#62403 but before this PR, the API is:

```rust
impl<T> [T] {
    pub fn concat<Separator: ?Sized>(&self) -> T::Output
        where T: SliceConcat<Separator>
    {
        SliceConcat::concat(self)
    }

    pub fn join<Separator: ?Sized>(&self, sep: &Separator) -> T::Output
        where T: SliceConcat<Separator>
    {
        SliceConcat::join(self, sep)
    }
}

pub trait SliceConcat<Separator: ?Sized>: Sized {
    type Output;
    fn concat(slice: &[Self]) -> Self::Output;
    fn join(slice: &[Self], sep: &Separator) -> Self::Output;
}

impl<T: Clone, V: Borrow<[T]>> SliceConcat<T> for V {
    type Output = Vec<T>;
}

impl<S: Borrow<str>> SliceConcat<str> for S {
    type Output = String;
}
```

By adding a trait impl we should be able to accept a slice of `T` as the separator, as an alternative to a single `T` value.

In a `some_slice.join(some_separator)` call, trait resolution will pick an impl or the other based on the type of `some_separator`. In `some_slice.concat()` however there is no separator, so this call would become ambiguous. Some regression in type inference or trait resolution may be acceptable on principle, but requiring a turbofish for every single call to `concat` isn’t great.

The solution to that is splitting the `SliceConcat` trait into two `Concat` and `Join` traits, one for each eponymous method. Only `Join` would gain a new impl, so that `some_slice.concat()` would not become ambiguous.

Now, at the trait level the `Concat` trait does not need a `Separator` parameter anymore. However, simply removing it causes one of the impls not to be accepted anymore:

```rust
error[E0207]: the type parameter `T` is not constrained by the impl trait, self type, or predicates
  --> src/liballoc/slice.rs:608:6
    |
608 | impl<T: Clone, V: Borrow<[T]>> Concat for [V] {
    |      ^ unconstrained type parameter
```

This makes sense: if `[V]::concat` is a method that is itself not generic, then its return type (which is the `Concat::Output` associated type) needs to be determined based on solely `V`. And although there is no such type in the standard library, there is nothing stopping another crate from defining a `V` type that implements both `Borrow<[Foo]>` and `Borrow<[Bar]>`. It might not be a good idea, but it’s possible. Both would apply here, and there would be no way to determine `T`.

This could be a warning sign that this API is too generic. Perhaps we’d be better off having one less type variable, and only implement `Concat for [&'_ [T]]` and `Concat for [Vec<T>]` etc. However this aspect of `[V]::concat` is already stable, so we’re stuck with it.

The solution is to keep a dummy type parameter on the `Concat` trait. That way, if a type has multiple `Borrow<[_]>` impls, it’ll end up with multiple corresponding `Concat<_>` impls.

In `impl<S: Borrow<str>> Concat<str> for [S]`, the second occurrence of `str` is not meaningful. It could be any type. As long as there is only once such type with an applicable impl, trait resolution will be appeased without demanding turbofishes.

# Joining strings with `char`

For symmetry I also tried adding this impl (because why not):

```rust
impl<S: Borrow<str>> Join<char> for [S] {
    type Output = String;
}
```

This immediately caused an inference regression in a dependency of rustc:

```rust
error[E0277]: the trait bound `std::string::String: std::borrow::Borrow<[std::string::String]>` is not satisfied
   --> /home/simon/.cargo/registry/src/github.com-1ecc6299db9ec823/getopts-0.2.19/src/lib.rs:595:37
    |
595 |             row.push_str(&desc_rows.join(&desc_sep));
    |                                     ^^^^ the trait `std::borrow::Borrow<[std::string::String]>` is not implemented for `std::string::String`
    |
    = help: the following implementations were found:
              <std::string::String as std::borrow::Borrow<str>>
    = note: required because of the requirements on the impl of `std::slice::Join<&std::string::String>` for `[std::string::String]`
```

In the context of this code, two facts are known:

* `desc_rows` is a `Vec<String>`
* `desc_sep` is a `String`

Previously the first fact alone reduces the resolution of `join` to only one solution, where its argument it expected to be `&str`. Then, `&String` is coerced to `&str`.

With the new `Join` impl, the first fact leavs two applicable impls where the separator can be either `&str` or `char`. But `&String` is neither of these things. It appears that possible coercions are not accounted for, in the search for a solution in trait resolution.

I have not included this new impl in this PR. It’s still possible to add later, but the `getopts` breakage does not need to block the rest of the PR. And the functionality easy for end-user to duplicate: `slice_of_strings.join(&*char_separator.encode_utf8(&mut [0_u8, 4]))`

The `&*` part of that last code snippet is another case of the same issue: `encode_utf8` returns `&mut str` which can be coerced to `&str`, but isn’t when trait resolution is ambiguous.
rustc: precompute the largest Niche and store it in LayoutDetails.

Since we only ever can use at most one niche, it makes sense to just store that in the layout, for the simplest caching (especially as it's almost trivial to compute).

There might be a speedup from this, but even if it's marginal now, the caching would be a more significant benefit for future optimization attempts.
… r=RalfJung

Remove uses of mem::uninitialized from std::sys::cloudabi

Addresses rust-lang#62397 for std::sys::cloudabi, excluding the tests within cloudabi, which will be a separate PR
Suggest trait bound on type parameter when it is unconstrained

Given

```
trait Foo { fn method(&self) {} }

fn call_method<T>(x: &T) {
    x.method()
}
```

suggest constraining `T` with `Foo`.

Fix rust-lang#21673, fix rust-lang#41030.
Add riscv32i-unknown-none-elf target

This target is likely to be useful for constrained FPGA soft-cores, such as picorv32 and HeavyX.
…ulacrum

rustc: Compile the `fmt_macros` crate as an rlib

I think this was left out by accident from the "convert everything to
rlibs" commit, there's no need for this to be a dylib just as everything
else doesn't need to be a dylib!
…xcrichton

add support for hexagon-unknown-linux-musl
…_compiler_messages_p15, r=Centril

Normalize use of backticks in compiler messages for libsyntax/*

rust-lang#60532
cleanup: Remove `extern crate serialize as rustc_serialize`s
…_compiler_messages_p16, r=Centril

Normalize use of backticks in compiler messages for doc

rust-lang#60532
…_compiler_messages_p17, r=alexreg

normalize use of backticks for compiler messages in remaining modules

rust-lang#60532
@Centril
Copy link
Contributor Author

Centril commented Jul 23, 2019

@bors r+ p=13 rollup=never

@bors
Copy link
Contributor

bors commented Jul 23, 2019

📌 Commit a18d486 has been approved by Centril

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jul 23, 2019
@bors
Copy link
Contributor

bors commented Jul 23, 2019

⌛ Testing commit a18d486 with merge ca902a18716298015e7378d96ba5254c143264bb...

@bors
Copy link
Contributor

bors commented Jul 24, 2019

💔 Test failed - checks-azure

@rust-highfive
Copy link
Collaborator

The job i686-apple of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-07-24T01:35:53.3505070Z status: exit code: 2
2019-07-24T01:35:53.3506050Z command: "make"
2019-07-24T01:35:53.3506250Z stdout:
2019-07-24T01:35:53.3507730Z ------------------------------------------
2019-07-24T01:35:53.3507970Z /bin/echo || exit 0 # This test requires /bin/echo to exist
2019-07-24T01:35:53.3508070Z 
2019-07-24T01:35:53.3509550Z DYLD_LIBRARY_PATH="/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend:/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/stage2/lib:" '/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/stage2/bin/rustc' --out-dir /Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend -L /Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend  the_backend.rs --crate-name the_backend --crate-type dylib \
2019-07-24T01:35:53.3510610Z   -o /Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend/the_backend.dylib
2019-07-24T01:35:53.3512280Z DYLD_LIBRARY_PATH="/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend:/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/stage2/lib:" '/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/stage2/bin/rustc' --out-dir /Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend -L /Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend  some_crate.rs --crate-name some_crate --crate-type lib -o /Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend/some_crate \
2019-07-24T01:35:53.3513410Z   -Z codegen-backend=/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend/the_backend.dylib -Z unstable-options
2019-07-24T01:35:53.3514220Z ------------------------------------------
2019-07-24T01:35:53.3514630Z stderr:
2019-07-24T01:35:53.3515350Z ------------------------------------------
2019-07-24T01:35:53.3515490Z warning: trait objects without an explicit `dyn` are deprecated
2019-07-24T01:35:53.3515490Z warning: trait objects without an explicit `dyn` are deprecated
2019-07-24T01:35:53.3516100Z   --> the_backend.rs:43:38
2019-07-24T01:35:53.3516220Z    |
2019-07-24T01:35:53.3516880Z 43 |     fn metadata_loader(&self) -> Box<MetadataLoader + Sync> {
2019-07-24T01:35:53.3517040Z    |                                      ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn MetadataLoader + Sync`
2019-07-24T01:35:53.3517220Z    = note: `#[warn(bare_trait_objects)]` on by default
2019-07-24T01:35:53.3517280Z 
2019-07-24T01:35:53.3517370Z warning: trait objects without an explicit `dyn` are deprecated
2019-07-24T01:35:53.3518000Z   --> the_backend.rs:66:33
2019-07-24T01:35:53.3518000Z   --> the_backend.rs:66:33
2019-07-24T01:35:53.3518120Z    |
2019-07-24T01:35:53.3518190Z 66 |         _rx: mpsc::Receiver<Box<Any + Send>>
2019-07-24T01:35:53.3518320Z    |                                 ^^^^^^^^^^ help: use `dyn`: `dyn Any + Send`
2019-07-24T01:35:53.3518470Z warning: trait objects without an explicit `dyn` are deprecated
2019-07-24T01:35:53.3519100Z   --> the_backend.rs:67:14
2019-07-24T01:35:53.3519210Z    |
2019-07-24T01:35:53.3519810Z 67 |     ) -> Box<Any> {
2019-07-24T01:35:53.3519810Z 67 |     ) -> Box<Any> {
2019-07-24T01:35:53.3520200Z    |              ^^^ help: use `dyn`: `dyn Any`
2019-07-24T01:35:53.3520250Z 
2019-07-24T01:35:53.3520330Z warning: trait objects without an explicit `dyn` are deprecated
2019-07-24T01:35:53.3521000Z   --> the_backend.rs:75:30
2019-07-24T01:35:53.3521100Z    |
2019-07-24T01:35:53.3521190Z 75 |         ongoing_codegen: Box<Any>,
2019-07-24T01:35:53.3521280Z    |                              ^^^ help: use `dyn`: `dyn Any`
2019-07-24T01:35:53.3521430Z warning: trait objects without an explicit `dyn` are deprecated
2019-07-24T01:35:53.3522080Z    --> the_backend.rs:100:41
2019-07-24T01:35:53.3522180Z     |
2019-07-24T01:35:53.3522180Z     |
2019-07-24T01:35:53.3522850Z 100 | pub fn __rustc_codegen_backend() -> Box<CodegenBackend> {
2019-07-24T01:35:53.3522980Z     |                                         ^^^^^^^^^^^^^^ help: use `dyn`: `dyn CodegenBackend`
2019-07-24T01:35:53.3523070Z 
2019-07-24T01:35:53.3523690Z warning: ignoring --out-dir flag due to -o flag
2019-07-24T01:35:53.3523760Z 
2019-07-24T01:35:53.3524410Z warning: ignoring --out-dir flag due to -o flag
2019-07-24T01:35:53.3524480Z 
2019-07-24T01:35:53.3525320Z thread '<unnamed>' panicked at 'cannot access a scoped thread local variable without calling `set` first', /Users/vsts/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:168:9
2019-07-24T01:35:53.3525630Z 
2019-07-24T01:35:53.3525710Z error: internal compiler error: unexpected panic
2019-07-24T01:35:53.3525780Z 
2019-07-24T01:35:53.3525780Z 
2019-07-24T01:35:53.3525850Z note: the compiler unexpectedly panicked. this is a bug.
2019-07-24T01:35:53.3525920Z 
2019-07-24T01:35:53.3526660Z note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
2019-07-24T01:35:53.3526760Z 
2019-07-24T01:35:53.3527420Z note: rustc 1.38.0-dev running on i686-apple-darwin
2019-07-24T01:35:53.3527490Z 
2019-07-24T01:35:53.3528350Z note: compiler flags: -Z codegen-backend=/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps/hotplug_codegen_backend/hotplug_codegen_backend/the_backend.dylib -Z unstable-options --crate-type lib
2019-07-24T01:35:53.3528500Z 
2019-07-24T01:35:53.3528590Z make: *** [all] Error 101
2019-07-24T01:35:53.3529280Z ------------------------------------------
2019-07-24T01:35:53.3529440Z 
2019-07-24T01:35:53.3529480Z 
2019-07-24T01:35:53.3529520Z 
---
2019-07-24T01:35:53.3532130Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:535:22
2019-07-24T01:35:53.3532280Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-07-24T01:35:53.3532360Z 
2019-07-24T01:35:53.3532400Z 
2019-07-24T01:35:53.3538930Z command did not execute successfully: "/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/stage0-tools-bin/compiletest" "--compile-lib-path" "/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/stage2/lib" "--run-lib-path" "/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/stage2/lib/rustlib/i686-apple-darwin/lib" "--rustc-path" "/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/stage2/bin/rustc" "--rustdoc-path" "/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/stage2/bin/rustdoc" "--src-base" "/Users/vsts/agent/2.154.3/work/1/s/src/test/run-make-fulldeps" "--build-base" "/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/test/run-make-fulldeps" "--stage-id" "stage2-i686-apple-darwin" "--mode" "run-make" "--target" "i686-apple-darwin" "--host" "i686-apple-darwin" "--llvm-filecheck" "/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/llvm/build/bin/FileCheck" "--nodejs" "/usr/local/bin/node" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/native/rust-test-helpers" "--docck-python" "/usr/local/bin/python2.7" "--lldb-python" "/usr/bin/python" "--lldb-version" "lldb-902.0.79.2\n  Swift-4.1\n" "--lldb-python-dir" "/Applications/Xcode_9.3.app/Contents/SharedFrameworks/LLDB.framework/Resources/Python" "--llvm-version" "9.0.0-rust-1.38.0-dev\n" "--cc" "/Users/vsts/agent/2.154.3/work/1/s/clang+llvm-7.0.0-x86_64-apple-darwin/bin/clang" "--cxx" "/Users/vsts/agent/2.154.3/work/1/s/clang+llvm-7.0.0-x86_64-apple-darwin/bin/clang++" "--cflags" "-ffunction-sections -fdata-sections -fPIC --target=i686-apple-darwin -stdlib=libc++" "--llvm-components" "aarch64 aarch64asmparser aarch64codegen aarch64desc aarch64disassembler aarch64info aarch64utils aggressiveinstcombine all all-targets analysis arm armasmparser armcodegen armdesc armdisassembler arminfo armutils asmparser asmprinter binaryformat bitreader bitstreamreader bitwriter codegen core coroutines coverage debuginfocodeview debuginfodwarf debuginfogsym debuginfomsf debuginfopdb demangle dlltooldriver engine executionengine fuzzmutate globalisel gtest gtest_main hexagon hexagonasmparser hexagoncodegen hexagondesc hexagondisassembler hexagoninfo instcombine instrumentation interpreter ipo irreader jitlink libdriver lineeditor linker lto mc mca mcdisassembler mcjit mcparser mips mipsasmparser mipscodegen mipsdesc mipsdisassembler mipsinfo mirparser msp430 msp430asmparser msp430codegen msp430desc msp430disassembler msp430info native nativecodegen nvptx nvptxcodegen nvptxdesc nvptxinfo objcarcopts object objectyaml option orcjit passes powerpc powerpcasmparser powerpccodegen powerpcdesc powerpcdisassembler powerpcinfo profiledata remarks riscv riscvasmparser riscvcodegen riscvdesc riscvdisassembler riscvinfo riscvutils runtimedyld scalaropts selectiondag sparc sparcasmparser sparccodegen sparcdesc sparcdisassembler sparcinfo support symbolize systemz systemzasmparser systemzcodegen systemzdesc systemzdisassembler systemzinfo tablegen target testingsupport textapi transformutils vectorize webassembly webassemblyasmparser webassemblycodegen webassemblydesc webassemblydisassembler webassemblyinfo windowsmanifest x86 x86asmparser x86codegen x86desc x86disassembler x86info x86utils xray" "--llvm-cxxflags" "-I/Users/vsts/agent/2.154.3/work/1/s/src/llvm-project/llvm/include -I/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/llvm/build/include -std=c++11 -stdlib=libc++  -fno-exceptions -fno-rtti -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS" "--ar" "ar" "--llvm-bin-dir" "/Users/vsts/agent/2.154.3/work/1/s/build/i686-apple-darwin/llvm/build/bin" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2019-07-24T01:35:53.3541280Z 
2019-07-24T01:35:53.3541340Z 
2019-07-24T01:35:53.3541430Z failed to run: /Users/vsts/agent/2.154.3/work/1/s/build/bootstrap/debug/bootstrap test
2019-07-24T01:35:53.3541540Z Build completed unsuccessfully in 1:48:15
2019-07-24T01:35:53.3541540Z Build completed unsuccessfully in 1:48:15
2019-07-24T01:35:53.3771010Z ##[error]Bash exited with code '1'.
2019-07-24T01:35:53.3829960Z ##[section]Starting: Upload CPU usage statistics
2019-07-24T01:35:53.3852470Z ==============================================================================
2019-07-24T01:35:53.3852600Z Task         : Bash
2019-07-24T01:35:53.3852680Z Description  : Run a Bash script on macOS, Linux, or Windows

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Jul 24, 2019
@Centril Centril closed this Jul 24, 2019
@Centril Centril deleted the rollup-1tv95ql branch July 24, 2019 01:52
@Centril Centril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet