profile
viewpoint
Olivia Crain oliviacrain Austin TX https://olivia.dev she/her, post-mature optimizer

oliviacrain/configs 0

My personal dotfiles (managed by dotbot)

oliviacrain/glacier 0

A big 'ol pile of ICE.

oliviacrain/oreboot 0

oreboot is a fork of coreboot, with C removed, written in Rust.

oliviacrain/qmk_firmware 0

Open-source keyboard firmware for Atmel AVR and Arm USB families

oliviacrain/rust 0

Empowering everyone to build reliable and efficient software.

oliviacrain/rust-clippy 0

A bunch of lints to catch common mistakes and improve your Rust code

oliviacrain/tock 0

A secure embedded operating system for microcontrollers

push eventoliviacrain/rust

Scott McMurray

commit sha 5573a163530f12a38a865b67eb7994414e9cd49c

Use `try{}` in `try_fold` to decouple library from `Try` details

view details

Scott McMurray

commit sha 8374c1702c1d9858d8906051cd531757be63998d

Bump the version of rustfmt used in tidy To pick up https://github.com/rust-lang/rustfmt/pull/4461 So that rustfmt has the parsing fix from https://github.com/rust-lang/rust/pull/76274 ...and do a reformat that it wants.

view details

Dániel Buga

commit sha 86e030391b2e81c44beed94e3070406994caaad5

Make sure cold code is as small as possible

view details

Dániel Buga

commit sha 5f11e71721e038ebdd9b225eec3e86f1ee7f867b

Reuse memory for process_cycles

view details

Dániel Buga

commit sha 8c7a8a62ddffe8bd9c144a8647a31c8138366f42

Turn Outcome into an opaque type to remove some runtime checks

view details

Camelid

commit sha 6716c8320f7a09ad521aa70f4a6f12e3ddb3f26a

bootstrap: Print units for "finished in xxx" message It now says "finished in xxx seconds". Also slightly improved some wording in the README.

view details

varkor

commit sha c0d29fe7d7a32dbadad161fe8a39bc996da3c633

Fix issue with specifying generic arguments for primitive types

view details

bors

commit sha cb2462c53f2cc3f140c0f1ea0976261cab968a34

Auto merge of #78087 - camelid:bootstrap-print-units, r=jyn514 bootstrap: Print units for "finished in xxx" message It now says "finished in xxx seconds". Also slightly improved some wording in the README.

view details

pierwill

commit sha 67dc9b75813994467cc15434c7f1e6bc2ca471bd

Add missing punctuation

view details

Guillaume Gomez

commit sha 880d644a5080fcbfed16fb49a776729a3d4cb1b7

Add link to rustdoc book in rustdoc help popup

view details

bors

commit sha f90e6173053f7e6b377d7f75367b511ceee7d9d1

Auto merge of #77908 - bugadani:obl-forest, r=nnethercote Try to make ObligationForest more efficient This PR tries to decrease the number of allocations in ObligationForest, as well as moves some cold path code to an uninlined function.

view details

Guillaume Gomez

commit sha a6919ef889fe48daf796268b9619f64020ca4afa

Rollup merge of #77877 - scottmcm:fewer-try-trait-method-references, r=shepmaster Use `try{}` in `try_fold` to decouple iterators in the library from `Try` details I'd like to experiment with changing the `?`/`try` desugaring and correspondingly the `Try` trait (see #42327 for discussions about the suboptimalities of the current one) and this change would keep from needing any `cfg(bootstrap)` in iterator things. This will be lowered to the same thing, so shouldn't cause any perf issues: https://github.com/rust-lang/rust/blob/08e2d4616613716362b4b49980ff303f2b9ae654/compiler/rustc_ast_lowering/src/expr.rs#L428-L429 But ~~I'll trigger~~ I've triggered [a perf run](https://perf.rust-lang.org/compare.html?start=d65c08e9cc164b7b44de53503fae859a4fafd976&end=2c067c5235e779cd75e9f0cdfe572c64f1a12b9b) just in case. ~~EDIT: changed to a draft because of the rustfmt-only syntax error. zulip thread about it: https://rust-lang.zulipchat.com/#narrow/stream/122651-general/topic/New.20bootstrap.20rustfmt.20doesn't.20support.20syntax.20from.20sept.3F/near/213098097~~ EDIT: This now includes a rustfmt version bump to get through tidy.

view details

Guillaume Gomez

commit sha 684fbd50ab49edfcfaec57c9b5e3cf6c05a3107f

Rollup merge of #78089 - varkor:opt_const_param_of-error, r=lcnr Fix issue with specifying generic arguments for primitive types Fixes https://github.com/rust-lang/rust/issues/78005. r? @lcnr

view details

Guillaume Gomez

commit sha 81180f4d99deeead1dfb3aedcfb9652654bf9ea4

Rollup merge of #78099 - pierwill:patch-5, r=jonas-schievink Add missing punctuation

view details

Guillaume Gomez

commit sha cbcf8d4235148836a109d2038467c9a27f0f4be2

Rollup merge of #78103 - GuillaumeGomez:rustdoc-book, r=jyn514 Add link to rustdoc book in rustdoc help popup Part of #75520. It looks like this: ![Screenshot from 2020-10-19 13-46-02](https://user-images.githubusercontent.com/3050060/96446334-934d6900-1211-11eb-8fdc-133fecc8c30d.png) ![Screenshot from 2020-10-19 13-43-46](https://user-images.githubusercontent.com/3050060/96446335-947e9600-1211-11eb-955c-68af5292aecc.png) ![Screenshot from 2020-10-19 13-37-26](https://user-images.githubusercontent.com/3050060/96446337-947e9600-1211-11eb-9a2e-399b99178a65.png) r? @jyn514

view details

bors

commit sha a85e94927622665a9e9022de0d33a890a2e32d43

Auto merge of #78106 - GuillaumeGomez:rollup-06vwk7p, r=GuillaumeGomez Rollup of 4 pull requests Successful merges: - #77877 (Use `try{}` in `try_fold` to decouple iterators in the library from `Try` details) - #78089 (Fix issue with specifying generic arguments for primitive types) - #78099 (Add missing punctuation) - #78103 (Add link to rustdoc book in rustdoc help popup) Failed merges: r? `@ghost`

view details

push time in 13 hours

push eventoliviacrain/rust

Mark Rousskov

commit sha 05c9c0ee5dcd935f518db151bee2dc88380fb92f

Modify executable checking to be more universal This uses a dummy file to check if the filesystem being used supports the executable bit in general.

view details

dylni

commit sha 1ff7da6551a7cdf6ace2a9d00e92bbab550334ee

Move `slice::check_range` to `RangeBounds`

view details

dylni

commit sha 1095dcab96d524e700b11edf366d45a0fd173fa0

Fix links

view details

dylni

commit sha eb63168e007058dad4af758faf1dca449c049777

Fix doctests

view details

dylni

commit sha f055b0bb0847ecf08fe452a270faae8324b55b05

Rename method to `assert_len`

view details

Camelid

commit sha 549f861f7d53811521cf929cf58fb6828a2a88d9

Use correct article in help message for conversion or cast Before it always used `an`; now it uses the correct article for the type.

view details

Camelid

commit sha 094f14c554c3a1f103a5d6778d4b4e131c297f11

Add article after "to" Also added missing backtick in "you can cast" message.

view details

Camelid

commit sha 8a6831a7fd3fc624643b50f494212e0ceaad3c28

Say "doesn't" instead of "wouldn't" in convert message

view details

Bastian Kauschke

commit sha 9c302f55bd07a04305dfa2bd815d2559deb8468f

normalize in codegen_fulfill_obligations

view details

Bastian Kauschke

commit sha f0487cee7439f3a4b4c7daec0e7f2a0ccc21053c

normalize substs during inlining

view details

Bastian Kauschke

commit sha 32739a2ff1b7b6e5c1b475341b01f4a499830a84

add regression test

view details

Bastian Kauschke

commit sha ac893b8a02788eec6f6fad0cc89de0177b0c0a50

add test for should_inline incorrect param_env

view details

Jacob Hughes

commit sha 4b96049da2329ba6e9a7fd4cd8224417fb4baede

BTreeMap: refactor Entry out of map.rs into its own file btree/map.rs is approaching the 3000 line mark, splitting out the entry code buys about 500 lines of headroom

view details

Yoshua Wuyts

commit sha 3717646366a91ee9ca0b574973ec090670f9a4f8

Add std::thread::available_concurrency

view details

Luqman Aden

commit sha bd145a30489e0dd529889627eb350c9cb5990f71

Update LLVM for LLD COFF TLS alignment fix.

view details

Will Crozier

commit sha 786e3ea31a5ca19651612e56f5d2df84a3845638

Fix grammar in note for orphan-rule error [E0210]

view details

Vadim Petrochenkov

commit sha 3522add318f8fbcd96a032f6779be09ba3d80478

resolve: Do not put nonexistent crate `meta` into prelude

view details

khyperia

commit sha 3d484481c7413a97117f059e10a53dff29d74498

Make set_span take mut self

view details

Jan Verbeek

commit sha e701ae376a040d9f5614cda3be6fabffe884b432

Suggest correct place to add `self` parameter when inside closure It would incorrectly suggest adding it as a parameter to the closure instead of the containing function.

view details

Guillaume Gomez

commit sha 3566132a836f76e7365a47a1687edace7604bb39

Small CSS cleanup

view details

push time in a day

push eventoliviacrain/rust

Mark Rousskov

commit sha e023158145ece18176a2e93420600ccda0d0bc58

Permit uninhabited enums to cast into ints This essentially reverts part of #6204.

view details

Mark Rousskov

commit sha 990a39596cf3b33e550f2045f78a62970f8d78f8

Prevent ICE on uninhabited MIR interpretation

view details

Nathan West

commit sha a02014280586b53997622c501db00398376967a8

Refactor io/buffered.rs into submodules

view details

Nathan West

commit sha 96229f02402e82914ec6100b28ad2cbdd273a0d4

move buffered.rs to mod.rs

view details

Nathan West

commit sha 6d75cdfc9ed9e6987bd23add6cf3954d2499dce2

Added updated compiler diagnostic

view details

Amjad Alsharafi

commit sha da700cba08a2b194d19e63d3c51ebadce96fe46b

Stabilize move_ref_pattern

view details

Amjad Alsharafi

commit sha afb9eeb1b9ea16ca65e38673a0ef3e7be81d7252

Disabled error `E0007` from rustc_error_codes

view details

Nathan West

commit sha c4280af8285c61b367a87c8f6eef9876011a8150

Retry fix error reporting suggestions

view details

Temirkhan Myrzamadi

commit sha 13dfbb64d313137b7d3c33067910e90f27bc6345

Suggest imports of unresolved macros

view details

Temirkhan Myrzamadi

commit sha 479298e05e8177b171c6d6bcd35fc7553b424bee

Re-run tests with --bless

view details

Temirkhan Myrzamadi

commit sha ea7cf6106864ce7929eb9f3cfe580f05ee418ac8

Don't suggest macros that out of scope

view details

Waffle

commit sha 0b923d3ca0b7f5a1a611564ee48c1e92f896d79e

add `str::{Split,RSplit}::as_str` methods This commit introduses 2 methods under "str_split_as_str" gate with common signature of `&Split<'a, _> -> &'a str'`. Both of them work like `Chars::as_str` - return unyield part of the inner string.

view details

Waffle

commit sha 4747215d778abd9f280202d07f279fdeaea519f8

add `str::{SplitN, RSplitN, SplitTerminator, RSplitTerminator}::as_str` methods This commit entroduce 4 methods smililar to `Split::as_str` all under the same gate "str_split_as_str".

view details

Waffle

commit sha 076514c8a82591547116a7a2212c4de4bdc56f76

add `str::SplitInclusive::as_str` method This commit entroduces `core::str::SplitInclusive::as_str` method similar to `core::str::Split::as_str`, but under different gate - "str_split_inclusive_as_str" (this is done so because `SplitInclusive` is itself unstable).

view details

Alexander Mols

commit sha 8fe61546696b626ecf68ef838d5d82e393719e80

Use posix_spawn() on unix if program is a path Previously `Command::spawn` would fall back to the non-posix_spawn based implementation if the `PATH` environment variable was possibly changed. On systems with a modern (g)libc `posix_spawn()` can be significantly faster. If program is a path itself the `PATH` environment variable is not used for the lookup and it should be safe to use the `posix_spawnp()` method. [1] We found this, because we have a cli application that effectively runs a lot of subprocesses. It would sometimes noticeably hang while printing output. Profiling showed that the process was spending the majority of time in the kernel's `copy_page_range` function while spawning subprocesses. During this time the process is completely blocked from running, explaining why users were reporting the cli app hanging. Through this we discovered that `std::process::Command` has a fast and slow path for process execution. The fast path is backed by `posix_spawnp()` and the slow path by fork/exec syscalls being called explicitly. Using fork for process creation is supposed to be fast, but it slows down as your process uses more memory. It's not because the kernel copies the actual memory from the parent, but it does need to copy the references to it (see `copy_page_range` above!). We ended up using the slow path, because the command spawn implementation in falls back to the slow path if it suspects the PATH environment variable was changed. Here is a smallish program demonstrating the slowdown before this code change: ``` use std::process::Command; use std::time::Instant; fn main() { let mut args = std::env::args().skip(1); if let Some(size) = args.next() { // Allocate some memory let _xs: Vec<_> = std::iter::repeat(0) .take(size.parse().expect("valid number")) .collect(); let mut command = Command::new("/bin/sh"); command .arg("-c") .arg("echo hello"); if args.next().is_some() { println!("Overriding PATH"); command.env("PATH", std::env::var("PATH").expect("PATH env var")); } let now = Instant::now(); let child = command .spawn() .expect("failed to execute process"); println!("Spawn took: {:?}", now.elapsed()); let output = child.wait_with_output().expect("failed to wait on process"); println!("Output: {:?}", output); } else { eprintln!("Usage: prog [size]"); std::process::exit(1); } () } ``` Running it and passing different amounts of elements to use to allocate memory shows that the time taken for `spawn()` can differ quite significantly. In latter case the `posix_spawnp()` implementation is 30x faster: ``` $ cargo run --release 10000000 ... Spawn took: 324.275µs hello $ cargo run --release 10000000 changepath ... Overriding PATH Spawn took: 2.346809ms hello $ cargo run --release 100000000 ... Spawn took: 387.842µs hello $ cargo run --release 100000000 changepath ... Overriding PATH Spawn took: 13.434677ms hello ``` [1]: https://github.com/bminor/glibc/blob/5f72f9800b250410cad3abfeeb09469ef12b2438/posix/execvpe.c#L81

view details

Mara Bos

commit sha f84f01c0148cfb2451775fcbf299a2e7b10b1e81

Use futex-based thread-parker for Wasm32.

view details

Mara Bos

commit sha 54a71e89546886951e32035960aa82a15a343668

For backtrace, use StaticMutex instead of a raw sys Mutex.

view details

Mara Bos

commit sha e6d61ade9c1523dc2dd7cbd97206d6ebc5b5d481

Use slice_as_mut_ptr instead of first_ptr_mut. This function was renamed.

view details

Mara Bos

commit sha 0f26578f2e2e41c51279f3b2bd967785241d316d

Get rid of UnsafeCell<MaybeUninit>s in cloudabi mutex.

view details

Mara Bos

commit sha 41066beb4dd3a7618e1f7617d60704f5c4425bf7

Get rid of UnsafeCell in cloudabi rwlock.

view details

push time in a day

Pull request review commentrust-lang/rust

Mark inout asm! operands as used in liveness pass

 impl<'a, 'tcx> Liveness<'a, 'tcx> {                             }                         }                         hir::InlineAsmOperand::InOut { expr, .. } => {-                            succ = self.propagate_through_place_components(expr, succ);+                            succ = self.propagate_through_expr(expr, succ);

It looks like it was determined that propagate_through_place_components would be the necessary call here in order to avoid improperly setting the inout expr as its own successor/predecessory.

oliviacrain

comment created time in a day

PullRequestReviewEvent

Pull request review commentrust-lang/rust

Mark inout asm! operands as used in liveness pass

+// Ensure inout asm! operands are marked as used by the liveness pass++// only-x86_64+// check-pass++#![feature(asm)]+#![allow(dead_code)]+#![deny(unused_variables)]++// Tests the single variable inout case+unsafe fn rep_movsb(mut dest: *mut u8, mut src: *const u8, mut n: usize) -> *mut u8 {

Added a couple of test cases for field projection, thanks!

oliviacrain

comment created time in a day

PullRequestReviewEvent

Pull request review commentrust-lang/rust

Mark inout asm! operands as used in liveness pass

+// Ensure inout asm! operands are marked as used by the liveness pass++// only-x86_64

Fixed in the latest changes, thanks!

oliviacrain

comment created time in a day

PullRequestReviewEvent

Pull request review commentrust-lang/rust

Mark inout asm! operands as used in liveness pass

 impl<'a, 'tcx> Liveness<'a, 'tcx> {                             }                         }                         hir::InlineAsmOperand::InOut { expr, .. } => {-                            succ = self.write_place(expr, succ, ACC_READ | ACC_WRITE);+                            succ = self.write_place(expr, succ, ACC_READ | ACC_WRITE | ACC_USE);

Reverted to the original change- thanks for digging into this, y'all

oliviacrain

comment created time in a day

PullRequestReviewEvent

push eventoliviacrain/rust

Olivia Crain

commit sha 17c6c5932c8de780fcd1d06aff230e8cc6bca9f8

Mark InOut operands as used in RWU table with write_place

view details

Olivia Crain

commit sha 8f0bceda13ac871dd452841d3b6aa049f9f649a1

Refactor liveness-issue-77915 to liveness-asm and improve tests

view details

push time in a day

fork oliviacrain/tock

A secure embedded operating system for microcontrollers

https://www.tockos.org

fork in 2 days

Pull request review commentrust-lang/rust

Mark inout asm! operands as used in liveness pass

 impl<'a, 'tcx> Liveness<'a, 'tcx> {                             }                         }                         hir::InlineAsmOperand::InOut { expr, .. } => {-                            succ = self.write_place(expr, succ, ACC_READ | ACC_WRITE);+                            succ = self.write_place(expr, succ, ACC_READ | ACC_WRITE | ACC_USE);

Thanks- changed in the latest commit.

oliviacrain

comment created time in 3 days

PullRequestReviewEvent

push eventoliviacrain/rust

Mark Rousskov

commit sha e023158145ece18176a2e93420600ccda0d0bc58

Permit uninhabited enums to cast into ints This essentially reverts part of #6204.

view details

Mark Rousskov

commit sha 990a39596cf3b33e550f2045f78a62970f8d78f8

Prevent ICE on uninhabited MIR interpretation

view details

Nathan West

commit sha a02014280586b53997622c501db00398376967a8

Refactor io/buffered.rs into submodules

view details

Nathan West

commit sha 96229f02402e82914ec6100b28ad2cbdd273a0d4

move buffered.rs to mod.rs

view details

Nathan West

commit sha 6d75cdfc9ed9e6987bd23add6cf3954d2499dce2

Added updated compiler diagnostic

view details

Amjad Alsharafi

commit sha da700cba08a2b194d19e63d3c51ebadce96fe46b

Stabilize move_ref_pattern

view details

Amjad Alsharafi

commit sha afb9eeb1b9ea16ca65e38673a0ef3e7be81d7252

Disabled error `E0007` from rustc_error_codes

view details

Nathan West

commit sha c4280af8285c61b367a87c8f6eef9876011a8150

Retry fix error reporting suggestions

view details

Temirkhan Myrzamadi

commit sha 13dfbb64d313137b7d3c33067910e90f27bc6345

Suggest imports of unresolved macros

view details

Temirkhan Myrzamadi

commit sha 479298e05e8177b171c6d6bcd35fc7553b424bee

Re-run tests with --bless

view details

Temirkhan Myrzamadi

commit sha ea7cf6106864ce7929eb9f3cfe580f05ee418ac8

Don't suggest macros that out of scope

view details

Waffle

commit sha 0b923d3ca0b7f5a1a611564ee48c1e92f896d79e

add `str::{Split,RSplit}::as_str` methods This commit introduses 2 methods under "str_split_as_str" gate with common signature of `&Split<'a, _> -> &'a str'`. Both of them work like `Chars::as_str` - return unyield part of the inner string.

view details

Waffle

commit sha 4747215d778abd9f280202d07f279fdeaea519f8

add `str::{SplitN, RSplitN, SplitTerminator, RSplitTerminator}::as_str` methods This commit entroduce 4 methods smililar to `Split::as_str` all under the same gate "str_split_as_str".

view details

Waffle

commit sha 076514c8a82591547116a7a2212c4de4bdc56f76

add `str::SplitInclusive::as_str` method This commit entroduces `core::str::SplitInclusive::as_str` method similar to `core::str::Split::as_str`, but under different gate - "str_split_inclusive_as_str" (this is done so because `SplitInclusive` is itself unstable).

view details

Alexander Mols

commit sha 8fe61546696b626ecf68ef838d5d82e393719e80

Use posix_spawn() on unix if program is a path Previously `Command::spawn` would fall back to the non-posix_spawn based implementation if the `PATH` environment variable was possibly changed. On systems with a modern (g)libc `posix_spawn()` can be significantly faster. If program is a path itself the `PATH` environment variable is not used for the lookup and it should be safe to use the `posix_spawnp()` method. [1] We found this, because we have a cli application that effectively runs a lot of subprocesses. It would sometimes noticeably hang while printing output. Profiling showed that the process was spending the majority of time in the kernel's `copy_page_range` function while spawning subprocesses. During this time the process is completely blocked from running, explaining why users were reporting the cli app hanging. Through this we discovered that `std::process::Command` has a fast and slow path for process execution. The fast path is backed by `posix_spawnp()` and the slow path by fork/exec syscalls being called explicitly. Using fork for process creation is supposed to be fast, but it slows down as your process uses more memory. It's not because the kernel copies the actual memory from the parent, but it does need to copy the references to it (see `copy_page_range` above!). We ended up using the slow path, because the command spawn implementation in falls back to the slow path if it suspects the PATH environment variable was changed. Here is a smallish program demonstrating the slowdown before this code change: ``` use std::process::Command; use std::time::Instant; fn main() { let mut args = std::env::args().skip(1); if let Some(size) = args.next() { // Allocate some memory let _xs: Vec<_> = std::iter::repeat(0) .take(size.parse().expect("valid number")) .collect(); let mut command = Command::new("/bin/sh"); command .arg("-c") .arg("echo hello"); if args.next().is_some() { println!("Overriding PATH"); command.env("PATH", std::env::var("PATH").expect("PATH env var")); } let now = Instant::now(); let child = command .spawn() .expect("failed to execute process"); println!("Spawn took: {:?}", now.elapsed()); let output = child.wait_with_output().expect("failed to wait on process"); println!("Output: {:?}", output); } else { eprintln!("Usage: prog [size]"); std::process::exit(1); } () } ``` Running it and passing different amounts of elements to use to allocate memory shows that the time taken for `spawn()` can differ quite significantly. In latter case the `posix_spawnp()` implementation is 30x faster: ``` $ cargo run --release 10000000 ... Spawn took: 324.275µs hello $ cargo run --release 10000000 changepath ... Overriding PATH Spawn took: 2.346809ms hello $ cargo run --release 100000000 ... Spawn took: 387.842µs hello $ cargo run --release 100000000 changepath ... Overriding PATH Spawn took: 13.434677ms hello ``` [1]: https://github.com/bminor/glibc/blob/5f72f9800b250410cad3abfeeb09469ef12b2438/posix/execvpe.c#L81

view details

Mara Bos

commit sha f84f01c0148cfb2451775fcbf299a2e7b10b1e81

Use futex-based thread-parker for Wasm32.

view details

Mara Bos

commit sha 54a71e89546886951e32035960aa82a15a343668

For backtrace, use StaticMutex instead of a raw sys Mutex.

view details

Mara Bos

commit sha e6d61ade9c1523dc2dd7cbd97206d6ebc5b5d481

Use slice_as_mut_ptr instead of first_ptr_mut. This function was renamed.

view details

Mara Bos

commit sha 0f26578f2e2e41c51279f3b2bd967785241d316d

Get rid of UnsafeCell<MaybeUninit>s in cloudabi mutex.

view details

Mara Bos

commit sha 41066beb4dd3a7618e1f7617d60704f5c4425bf7

Get rid of UnsafeCell in cloudabi rwlock.

view details

push time in 3 days

push eventoliviacrain/rust

Olivia Crain

commit sha cfb8207da52fcf87796eaf3700dc0e30a0a5ffba

Treat InOut variables like other input variables

view details

push time in 3 days

fork oliviacrain/oreboot

oreboot is a fork of coreboot, with C removed, written in Rust.

fork in 3 days

delete branch oliviacrain/glacier

delete branch : ice-nine

delete time in 4 days

push eventoliviacrain/glacier

Olivia Crain

commit sha aaa40ed291f83ebb4f56e3b6d96180d39ea26403

Newlines, ew

view details

push time in 4 days

PR opened rust-lang/glacier

Add ICE 77993
+12 -0

0 comment

1 changed file

pr created time in 4 days

create barncholiviacrain/glacier

branch : ice-nine

created branch time in 4 days

push eventoliviacrain/glacier

Olivia Crain

commit sha 29ff851d2d92e546aaeec9f1b5cb69d7a13c92c4

Add ICEs 77696, 77910, 77911, 77919 (#504) * Add ICE 77696 * Add ICE 77919 * Add ICE 77911 * Add ICE 77910 * Add end of file newline

view details

Olivia Crain

commit sha 2277e9a0abcbce9f2ad7062725af2b44940fa653

Add ICE 77987 (#505)

view details

push time in 4 days

push eventoliviacrain/rust

Matthew Kraai

commit sha f2a237a9354abb841bcd5d9ce96b0daf38fcedbd

Fix link to foreign calling conventions

view details

est31

commit sha 64ba25d0f2137aade97a0cfabc9ad2547bd6b376

Use integer literals for builtin target_pointer_width fields Also change target_pointer_width to pointer_width. Preparation for a subsequent type change of target_pointer_width to an integer together with a rename to pointer_width. On its own, this commit breaks the build. I don't like making build-breaking commits, but in this instance I believe that it makes review easier, as the "real" changes of this PR can be seen much more easily. Result of running: find compiler/rustc_target/src/spec/ -type f -exec sed -i -e 's/target_pointer_width: "\(.*\)"\..*,/pointer_width: \1,/g' {} \;

view details

est31

commit sha 0d1aa1e0346630189b779da0939e8138a8e6d668

Rename target_pointer_width to pointer_width and turn it into an u32 Rename target_pointer_width to pointer_width because it is already member of the Target struct. The compiler supports only three valid values for target_pointer_width: 16, 32, 64. Thus it can safely be turned into an int. This means less allocations and clones as well as easier handling of the type.

view details

est31

commit sha 4fa55787745ac71793253c47c4d6cd5ffe96b741

Replace target.target with target and target.ptr_width with target.pointer_width Preparation for a subsequent change that replaces rustc_target::config::Config with its wrapped Target. On its own, this commit breaks the build. I don't like making build-breaking commits, but in this instance I believe that it makes review easier, as the "real" changes of this PR can be seen much more easily. Result of running: find compiler/ -type f -exec sed -i -e 's/target\.target\([)\.,; ]\)/target\1/g' {} \; find compiler/ -type f -exec sed -i -e 's/target\.target$/target/g' {} \; find compiler/ -type f -exec sed -i -e 's/target.ptr_width/target.pointer_width/g' {} \; ./x.py fmt

view details

est31

commit sha d683e3ac23a8f8b52cef07b4380845bbd1ef5e8f

Remove rustc_session::config::Config The wrapper type led to tons of target.target across the compiler. Its ptr_width field isn't required any more, as target_pointer_width is already present in parsed form.

view details

strct

commit sha 8d8554d23474b19b68533c4c9e42bac164aa6fd0

Fix typo in documentation

view details

Guillaume Gomez

commit sha fce04fedd6b5ea77f9ac0d4373aa589abe3306e6

Hide help button on mobile devices

view details

Guillaume Gomez

commit sha e117c0615524e33215f7c0c52c3b2569c0608753

Rollup merge of #77963 - kraai:fix-foreign-calling-conventions-link, r=jonas-schievink Fix link to foreign calling conventions

view details

Guillaume Gomez

commit sha 313de68e22565b453596da4675dd0f67e4ccebe9

Rollup merge of #77978 - strct:patch-2, r=jonas-schievink Fix typo in documentation

view details

Guillaume Gomez

commit sha 16b1a6fa67073cca250f3d0bff5eb15dc8069c0c

Rollup merge of #77979 - GuillaumeGomez:hide-help-button, r=jyn514 Hide help button on mobile Addresses #77899. This PR is just a quick fix for now: we're still debating about whether or not we want to display this help popup and if so, how. I'll open an issue once this PR is merged to discuss about it. Before: ![Screenshot from 2020-10-15 17-56-39](https://user-images.githubusercontent.com/3050060/96155127-df499680-0f0f-11eb-8a13-77c537141f21.png) After: ![Screenshot from 2020-10-15 17-55-06](https://user-images.githubusercontent.com/3050060/96154957-ac070780-0f0f-11eb-9d90-7d8f79a6bf37.png) r? @jyn514

view details

bors

commit sha b5c9e2448c9ace53ad5c11585803894651b18b0a

Auto merge of #77943 - est31:target_refactor, r=petrochenkov No more target.target Two main changes of this PR: * Turn `target_pointer_width` into an integer and rename to `pointer_width`. The compiler only allowed three valid values for the width anyways. An integer is more natural for this value, and saves a few allocations and copies. * Remove the `rustc_session::config::Config` wrapper and replace it with its inner member `Target`. Aka. no more `target.target`. This makes life so much easier, but it also causes a ton of downstream breakage. Some changes of this PR were done using tooling. These tooling-made changes were isolated to their own commits to make review easier. It's best to review the PR commit-by-commit. Miri PR: https://github.com/rust-lang/miri/pull/1583 I request p=10 bors priority because of the breakage.

view details

bors

commit sha dd7fc54ebdca419ad9d3ab1e9f5ed14e770768ea

Auto merge of #77981 - GuillaumeGomez:rollup-64ydc5g, r=GuillaumeGomez Rollup of 3 pull requests Successful merges: - #77963 (Fix link to foreign calling conventions) - #77978 (Fix typo in documentation) - #77979 (Hide help button on mobile) Failed merges: r? `@ghost`

view details

push time in 5 days

delete branch oliviacrain/glacier

delete branch : ice-ice-baby

delete time in 5 days

PR opened rust-lang/glacier

Add ICE 77987
+18 -0

0 comment

1 changed file

pr created time in 5 days

create barncholiviacrain/glacier

branch : ice-ice-baby

created branch time in 5 days

push eventoliviacrain/rust

Roxane

commit sha dc183702da942f4a25bff99b2bb6073d1aa7c9f9

Replace tuple of infer vars for upvar_tys with single infer var This commit allows us to decide the number of captures required after completing capture ananysis, which is required as part of implementing RFC-2229. Co-authored-by: Aman Arora <me@aman-arora.com> Co-authored-by: Jenny Wills <wills.jenniferg@gmail.com>

view details

Aman Arora

commit sha 08d1ab0bf1c01948135548f5404eb625e454160e

Always return tupled_upvar_tys for Closure/Generator consituent tys Depending on if upvar_tys inferred or not, we were returning either an inference variable which later resolves to a tuple or else the upvar tys themselves Co-authored-by: Roxane Fruytier <roxane.fruytier@hotmail.com>

view details

Aman Arora

commit sha 3c46fd67f8b4831da9f2e8a536d34f498cf70241

traits diagnostics: Don't print closure/generator upvar_tys tuple Co-authored-by: Roxane Fruytier <roxane.fruytier@hotmail.com>

view details

Roxane

commit sha a64ad51ff7ae2f82d4aed5bc4d3a7c3d3b7c7117

Address comments

view details

Josh Stone

commit sha 5c4565771ea62c081eb21adc4cf57aeb761ee211

Rebase LLVM onto 11.0.0 final

view details

Eric Huss

commit sha 71bf7cfce131cb4515f55e02600228e2c833520b

Update cargo

view details

bors

commit sha 93deabce03dc10a80244f5da3e3819452744da2a

Auto merge of #77873 - sexxi-goose:use_tuple_inference_for_closures, r=nikomatsakis Replace tuple of infer vars for upvar_tys with single infer var This commit allows us to decide the number of captures required after completing capture ananysis, which is required as part of implementing RFC-2229. closes https://github.com/rust-lang/project-rfc-2229/issues/4 r? `@nikomatsakis`

view details

bors

commit sha 596b0d5027bfb1b5835e17a25f56b00a1f6ff95f

Auto merge of #77948 - cuviper:rust-llvm11, r=nikic Rebase LLVM onto 11.0.0 final

view details

bors

commit sha 7f587168102498a488abf608a86c7fdfa62fb7bb

Auto merge of #77952 - ehuss:update-cargo, r=ehuss Update cargo 11 commits in 9d1a4863abd9237dbf9d1b74c78632b6a205f6bb..12db56cdedbc2c26a9aa18f994c0188cdcc67df5 2020-10-05 18:29:52 +0000 to 2020-10-14 23:07:45 +0000 - Reinstate CARGO_PRIMARY_PACKAGE (take 2) (rust-lang/cargo#8758) - Add actionable help message for --features (rust-lang/cargo#8773) - Fix panic in `cargo doc` with -Zfeatures=itarget (rust-lang/cargo#8777) - Update git2. (rust-lang/cargo#8778) - Document RUSTFMT environment variable (rust-lang/cargo#8767) - Update crossbeam-utils requirement from 0.7 to 0.8 (rust-lang/cargo#8769) - Update toml dependency (rust-lang/cargo#8772) - Mark proc-macro crates (rust-lang/cargo#8765) - cargo-tree: mention special target `all` in CLI help text (rust-lang/cargo#8766) - Bump to 0.50.0, update changelog (rust-lang/cargo#8764) - Update deprecated GitHub add-path in workflows. (rust-lang/cargo#8760)

view details

push time in 5 days

Pull request review commentrust-lang/rust

Mark inout asm! operands as used in liveness pass

 impl<'a, 'tcx> Liveness<'a, 'tcx> {                             }                         }                         hir::InlineAsmOperand::InOut { expr, .. } => {-                            succ = self.write_place(expr, succ, ACC_READ | ACC_WRITE);+                            succ = self.write_place(expr, succ, ACC_READ | ACC_WRITE | ACC_USE);

Just a note: changing line 1197 to succ = self.propagate_through_expr(expr, succ); would have the same effect as this change. I'm not entirely sure which change is more semantically correct in the context of the pass- willing to change this if anyone knows better than me.

oliviacrain

comment created time in 5 days

PullRequestReviewEvent

PR opened rust-lang/rust

Mark inout asm! operands as used in liveness pass

Variables used in inout operands in inline assembly (that is, they're used as both input and output to some arbitrary assembly instruction) are being marked as read and written, but are not marked as being used in the RWU table during the liveness pass. This can result in such expressions triggering an unused variable lint warning. This is incorrect behavior- reads without uses are currently only used for compound assignments. We conservatively assume that an inout operand is being read and used in the context of the assembly instruction.

Closes #77915

+37 -1

0 comment

2 changed files

pr created time in 5 days

create barncholiviacrain/rust

branch : issue-77915-fix

created branch time in 5 days

push eventoliviacrain/rust

Mateusz Mikuła

commit sha 0ad3da06843089c0bf10d6caa3fbbc72fa67787a

Enable ASLR for windows-gnu

view details

Mingye Wang

commit sha a35a93f09cc111a53d00efc567ad678583dd5ac7

Pass tune-cpu to LLVM I think this is how it should work...

view details

Stein Somers

commit sha 97beb074aff40cb1b6444e9eff734a1a5c17dfc7

BTreeMap: derive type-specific variants of node_as_mut and cast_unchecked

view details

Guillaume Gomez

commit sha a215151cd357945acdb2675010708cb2d10bb4c0

Allow ascii whitespace char for doc aliases

view details

Guillaume Gomez

commit sha accc26abc0e53067d7a97d0fb19800c37a24f844

Add test for whitespace in doc alias

view details

Guillaume Gomez

commit sha 11f3476c59ee013c017e669676cfaca00a67b3f1

Enforce whitespace ascii character check for doc alias

view details

Mara Bos

commit sha e55d27fbcefffbddb85f28cf4eb913674f2188c6

Remove unnecessary rustc_const_stable attributes.

view details

Mara Bos

commit sha c25f69a1e3993bba59853767b366068685f64766

Remove unsafety from unsupported/mutex.rs by using a Cell. Replacing the UnsafeCell by a Cell simplifies things and makes it all safe.

view details

Mara Bos

commit sha 3d192ace34bcb13d3c033735cd7415260040c252

Remove unsafety from unsupported/rwlosck.rs by using a Cell. Replacing the UnsafeCell by a Cell makes it all safe.

view details

Mara Bos

commit sha f4e884288d0a1d6210e15bc7f8b014ef4cf86c32

Apply deny(unsafe_op_in_unsafe_fn) to all of sys/unsupported.

view details

Mara Bos

commit sha f1c3edbfaba6dd1723fcd63857f7de5ef2278f57

Assert state in sys/unsupported's RwLock::write_unlock. Co-authored-by: Joshua Nelson <joshua@yottadb.com>

view details

Yuki Okushi

commit sha 07627a3aa3dc7e0e961b523808dfd55bb86bde3e

Add a regression test for issue-52843

view details

Yuki Okushi

commit sha 32bc245bc09c724699cb1fed63c2ea17a20532c4

Add a regression test for issue-53448

view details

Yuki Okushi

commit sha ebc1f89ecf3a8de6da0ed6c5809586105f5d7fae

Add a regression test for issue-54108

view details

Yuki Okushi

commit sha 3a4fe97052cf9d3f244fcab885e338a6384cefa6

Add a regression test for issue-65581

view details

Yuki Okushi

commit sha 83370efdb64058397b4cd99ee2d31cf94b91757c

Add a regression test for issue-65934

view details

Yuki Okushi

commit sha e4fa906c44b5f746107d1bbfc648a2edeb29b627

Add a regression test for issue-70292

view details

Yuki Okushi

commit sha fb4d62759b6d4a5165f1a4401eb8c55c9f7f6211

Add a regression test for issue-71443

view details

Tom Eccles

commit sha a4a0342cf59a1bff43ed79586065eb97dba0cddb

ci: disabled: riscv: work around QEMU regression This bumps the version of the bbl bootloader not to perform 64-bit accesses to the PLIC. Doing so resulted in the QEMU test machine to fail to boot: bbl loader ../machine/mtrap.c:21: machine mode: unhandlable trap 7 @ 0x0000000080001f6e Power off Signed-off-by: Tom Eccles <tom.eccles@codethink.co.uk>

view details

Tom Eccles

commit sha e0b033e965a7d422da70a409a028af7c8b64e709

doc: fix broken link for crate::os::linux::raw::stat Fixing: Documenting std v0.0.0 (/checkout/library/std) error: `self::os::linux::raw::stat` is both a struct and a function --> library/std/src/os/linux/fs.rs:23:19 | 23 | /// [`stat`]: crate::os::linux::raw::stat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ambiguous link | = note: `-D broken-intra-doc-links` implied by `-D warnings` help: to link to the struct, prefix with `struct@` | 23 | /// [`stat`]: struct@self::os::linux::raw::stat | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: to link to the function, add parentheses | 23 | /// [`stat`]: self::os::linux::raw::stat() | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error error: could not document `std` Signed-off-by: Tom Eccles <tom.eccles@codethink.co.uk>

view details

push time in 5 days

issue commentrust-lang/rust

asm! macro does not mark variable as used

Interesting bug! I used cargo bisect-rustc to determine that this bug has been around since the commit introducing the asm! syntax.

Looking at the MCVE case from above and doing some debugging, I found that for all live nodes in rep_movsb , src is never marked as being used in the RWU table. It only gets marked as read/written. Later on, this is part of the information used to determine that src is unused. That doesn't really make much sense though- the definition of a use does seem to fit the case where a variable is used as both an input and an output to some arbitrary assembly instruction.

I'll go ahead and claim this. I have a solution in mind, just going to ask around zulip first before putting out a PR.

@rustbot claim

Soveu

comment created time in 5 days

push eventoliviacrain/glacier

Olivia Crain

commit sha fc6f299c932ad23aae4df6d98b93e4be27ac7c24

Add end of file newline

view details

push time in 7 days

push eventoliviacrain/glacier

Olivia Crain

commit sha 0fa37985fa21c936bba64116dffc4e10b06948e1

Add ICE 77919

view details

Olivia Crain

commit sha 7b6a24260dc15080d5bea70657d260a04bf4d9d4

Add ICE 77911

view details

Olivia Crain

commit sha 3203faa2d25fd1805ce90a73df58f11b22ea87d0

Add ICE 77910

view details

push time in 7 days

push eventoliviacrain/glacier

Olivia Crain

commit sha 64bad420b09b15ad969c4f7f895b5b4f2ed7008c

Add ICE 77735 (#503) * Add ICE 77735 * formatting fix

view details

push time in 7 days

create barncholiviacrain/glacier

branch : add-ices

created branch time in 7 days

push eventoliviacrain/rust

Matt Brubeck

commit sha b4b383981abac7ca8aa180c7ae3e28876615b887

Add PartialEq impls for Vec <-> slice

view details

kadmin

commit sha 8894b366fdb976a703fe76010f6e56c591cada1f

Remove error message in specific case In the case that a trait is not implemented for an ADT with type errors, cancel the error.

view details

Cassandra Fridkin

commit sha a009e2838b25df2761093d727d322a59f69d8f68

There isn't a way to pass --remove yet, but you can rm if u like

view details

Alexis Bourget

commit sha 492826ac144666c75d68bc0a0121453ecc08561f

Add a note about the panic behavior of math operations on time objects

view details

Tim Nielens

commit sha 390a13b06c79d4177b829097b06453e38188081f

needless-lifetime - fix nested elision site FPs

view details

Tim Nielens

commit sha a60e5de90c7370d4fb3e6561d3cb55495cda2e2a

needless-lifetime / nested elision sites / PR remarks

view details

Tim Nielens

commit sha c8e9e52303da6dff4bc5cc4db3021d608fca6c70

needless-lifetime / add test cases for nested elision sites

view details

Takayuki Nakata

commit sha 1778a1ec4615a42a8ba9497006b07859186c08a1

Restrict `same_item_push` to suppress false positives It emits a lint when the pushed item is a literal, a constant and an immutable binding that are initialized with those.

view details

Takayuki Nakata

commit sha 0117ea2b016133145f9e02e27421ac3672b42f57

Refactoring: use inner function

view details

Takayuki Nakata

commit sha b80576fba633e1fc214c9f6900d7ca3424bda6d0

Some refactoring

view details

Takayuki Nakata

commit sha 14faebe20ea82392f393c3ff5efaab7250e51989

Add some tests to `same_item_push` Add tests in which the variable is initialized with a match expression and function call

view details

Takayuki Nakata

commit sha 2972ad3ef661071531a61ec8999b668a6b734b74

Refactoring: tests in `same_item_push`

view details

Takayuki Nakata

commit sha 730ca457f580247667ed0cd5965bc08752ebc0b3

Address `items_after_statement`

view details

Dylan MacKenzie

commit sha 72b402ed38f0c71461038aef8a49a02e49280788

Add pass names to some common dataflow analyses

view details

Aaron Hill

commit sha cfe07cd42a92610219d6ffc1ae5eefef42f5254a

Use llvm::computeLTOCacheKey to determine post-ThinLTO CGU reuse During incremental ThinLTO compilation, we attempt to re-use the optimized (post-ThinLTO) bitcode file for a module if it is 'safe' to do so. Up until now, 'safe' has meant that the set of modules that our current modules imports from/exports to is unchanged from the previous compilation session. See PR #67020 and PR #71131 for more details. However, this turns out be insufficient to guarantee that it's safe to reuse the post-LTO module (i.e. that optimizing the pre-LTO module would produce the same result). When LLVM optimizes a module during ThinLTO, it may look at other information from the 'module index', such as whether a (non-imported!) global variable is used. If this information changes between compilation runs, we may end up re-using an optimized module that (for example) had dead-code elimination run on a function that is now used by another module. Fortunately, LLVM implements its own ThinLTO module cache, which is used when ThinLTO is performed by a linker plugin (e.g. when clang is used to compile a C proect). Using this cache directly would require extensive refactoring of our code - but fortunately for us, LLVM provides a function that does exactly what we need. The function `llvm::computeLTOCacheKey` is used to compute a SHA-1 hash from all data that might influence the result of ThinLTO on a module. In addition to the module imports/exports that we manually track, it also hashes information about global variables (e.g. their liveness) which might be used during optimization. By using this function, we shouldn't have to worry about new LLVM passes breaking our module re-use behavior. In LLVM, the output of this function forms part of the filename used to store the post-ThinLTO module. To keep our current filename structure intact, this PR just writes out the mapping 'CGU name -> Hash' to a file. To determine if a post-LTO module should be reused, we compare hashes from the previous session. This should unblock PR #75199 - by sheer chance, it seems to have hit this issue due to the particular CGU partitioning and optimization decisions that end up getting made.

view details

Hanif Bin Ariffin

commit sha dc655b28424549a4775bc2e8c9021d44482bccb1

Prevent stackoverflow

view details

LingMan

commit sha a6ff925f8b5598a1f6d84964525baa1d4a08fd63

Reduce boilerplate with the matches! macro Replaces simple bool `match`es of the form match $expr { $pattern => true _ => false } and their inverse with invocations of the matches! macro.

view details

rail

commit sha 5e393c7747d081c45414060f81016e9ea3cb961f

Fix a FP in `explicit_counter_loop` Fix a false positive in `explicit_counter_loop` where the loop counter is used after incremented, adjust the test so that counters are incremented at the end of the loop and add the test for this false positive.

view details

Eduardo Broto

commit sha 3e294b22a43be349262405715cf4885296c284ba

Revert "or_fn_call: ignore nullary associated const fns" This reverts commit 7a66e6502dc3c7085b3f4078c01d4957d96175ed.

view details

Eduardo Broto

commit sha ce83d8d4d1b28e73888a616d3ffbf19c6a620588

Revert "Avoid or_fun_call for const_fn with no args" This reverts commit 5d66bd7bb3fd701d70ec11217e3f89fabe5cb0a7.

view details

push time in 7 days

fork oliviacrain/rust-clippy

A bunch of lints to catch common mistakes and improve your Rust code

https://rust-lang.github.io/rust-clippy/

fork in 8 days

delete branch oliviacrain/glacier

delete branch : 77735

delete time in 8 days

push eventoliviacrain/glacier

Olivia Crain

commit sha 270165615eb82315c39db16c685b3c7b5c862fe4

formatting fix

view details

push time in 8 days

pull request commentrust-lang/glacier

Add ICE 77735

Oops, thanks- missed that step!

oliviacrain

comment created time in 8 days

push eventoliviacrain/glacier

rustbot

commit sha b7a144aa21182abac37727e5a6e766910a4ca223

ices/52843.rs: fixed with errors === stdout === === stderr === error[E0277]: the trait bound `T: Default` is not satisfied --> /home/runner/work/glacier/glacier/ices/52843.rs:3:15 | 3 | type Foo<T> = impl Default; | ^^^^^^^^^^^^ the trait `Default` is not implemented for `T` | help: consider restricting type parameter `T` | 3 | type Foo<T: Default> = impl Default; | ^^^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. ==============

view details

rustbot

commit sha 70bb143a568ccef1928e5ad47c799344ca4a5029

ices/53448.rs: fixed with errors === stdout === === stderr === warning: trait objects without an explicit `dyn` are deprecated --> /home/runner/work/glacier/glacier/ices/53448.rs:12:16 | 12 | let f:&mut FnMut<(_,),Output=()> = &mut |_:<() as Lt<'_>>::T|{}; | ^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn FnMut<(_,),Output=()>` | = note: `#[warn(bare_trait_objects)]` on by default error[E0277]: the size for values of type `<() as Lt<'_>>::T` cannot be known at compilation time --> /home/runner/work/glacier/glacier/ices/53448.rs:12:46 | 12 | let f:&mut FnMut<(_,),Output=()> = &mut |_:<() as Lt<'_>>::T|{}; | ^ doesn't have a size known at compile-time | = help: the trait `Sized` is not implemented for `<() as Lt<'_>>::T` = help: unsized locals are gated as an unstable feature help: consider further restricting the associated type | 10 | fn main() where <() as Lt<'_>>::T: Sized { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: function arguments must have a statically known size, borrowed types always have a known size | 12 | let f:&mut FnMut<(_,),Output=()> = &mut |_:&<() as Lt<'_>>::T|{}; | ^ error: aborting due to previous error; 1 warning emitted For more information about this error, try `rustc --explain E0277`. ==============

view details

rustbot

commit sha e62bf9c9baefdaada394fe7413ca33eb4dedafac

ices/54108.rs: fixed with errors === stdout === === stderr === error[E0277]: cannot add `<T as SubEncoder>::ActualSize` to `<T as SubEncoder>::ActualSize` --> /home/runner/work/glacier/glacier/ices/54108.rs:16:2 | 4 | type Size: Add<Output = Self::Size>; | ------------------------ required by this bound in `Encoder::Size` ... 16 | type Size = <Self as SubEncoder>::ActualSize; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ no implementation for `<T as SubEncoder>::ActualSize + <T as SubEncoder>::ActualSize` | = help: the trait `Add` is not implemented for `<T as SubEncoder>::ActualSize` help: consider further restricting the associated type | 15 | impl<T> Encoder for T where T: SubEncoder, <T as SubEncoder>::ActualSize: Add { | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. ==============

view details

rustbot

commit sha d1673c9fbadca8e45b9d6c0cd5df84581de70059

ices/63154-2.rs: fixed with no errors === stdout === === stderr === ==============

view details

rustbot

commit sha 9c4f7e050717b4cfb0ad347fd9d1768d735a561d

ices/63355.rs: fixed with errors === stdout === === stderr === error[E0271]: type mismatch resolving `<() as Bar>::Foo == ()` --> /home/runner/work/glacier/glacier/ices/63355.rs:30:20 | 29 | pub type FooImpl = impl Foo; | -------- the expected opaque type 30 | pub type BarImpl = impl Bar<Foo = FooImpl>; | ^^^^^^^^^^^^^^^^^^^^^^^ expected opaque type, found `()` | = note: expected opaque type `impl Foo` found unit type `()` error: aborting due to previous error For more information about this error, try `rustc --explain E0271`. ==============

view details

rustbot

commit sha 683e49c83a14aa55bcaf61037a32ccb57b8ec025

ices/65581.rs: fixed with no errors === stdout === === stderr === ==============

view details

rustbot

commit sha 1c9deb0100975e509741a8c852c85278b95358f4

ices/65934.rs: fixed with no errors === stdout === === stderr === ==============

view details

rustbot

commit sha 2de7cbea09bb866c6b11e9c677701cec53c4ac7c

ices/70292.rs: fixed with no errors === stdout === === stderr === ==============

view details

rustbot

commit sha 78b11bd88e5b4d4f616041b58bf79eb1a18c5264

ices/70877.rs: fixed with errors === stdout === === stderr === error[E0271]: type mismatch resolving `<Bar as Iterator>::Item == Box<(dyn for<'r> Fn(&'r (dyn ToString + 'r)) -> Option<String> + 'static)>` --> /home/runner/work/glacier/glacier/ices/70877.rs:9:12 | 6 | type FooRet = impl std::fmt::Debug; | -------------------- the expected opaque type ... 9 | type Foo = impl Iterator<Item = FooItem>; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ expected opaque type, found enum `Option` | = note: expected struct `Box<(dyn for<'r> Fn(&'r (dyn ToString + 'r)) -> impl Debug + 'static)>` found struct `Box<(dyn for<'r> Fn(&'r (dyn ToString + 'r)) -> Option<String> + 'static)>` error: aborting due to previous error For more information about this error, try `rustc --explain E0271`. ==============

view details

rustbot

commit sha 3fbb615351bc97ee2533cea187ba558a123381eb

ices/71443-1.rs: fixed with errors === stdout === === stderr === error[E0601]: `main` function not found in crate `71443_1` --> /home/runner/work/glacier/glacier/ices/71443-1.rs:1:1 | 1 | / #![feature(associated_type_bounds)] 2 | | 3 | | struct Incorrect; 4 | | 5 | | fn hello<F: for<'a> Iterator<Item: 'a>>() { 6 | | Incorrect 7 | | } | |_^ consider adding a `main` function to `/home/runner/work/glacier/glacier/ices/71443-1.rs` error[E0308]: mismatched types --> /home/runner/work/glacier/glacier/ices/71443-1.rs:6:5 | 5 | fn hello<F: for<'a> Iterator<Item: 'a>>() { | - help: try adding a return type: `-> Incorrect` 6 | Incorrect | ^^^^^^^^^ expected `()`, found struct `Incorrect` error: aborting due to 2 previous errors Some errors have detailed explanations: E0308, E0601. For more information about an error, try `rustc --explain E0308`. ==============

view details

rustbot

commit sha d16e365ed33b1d407346274437cbab4fe0a6a0cc

ices/71443-2.rs: fixed with errors === stdout === === stderr === error[E0601]: `main` function not found in crate `71443_2` --> /home/runner/work/glacier/glacier/ices/71443-2.rs:1:1 | 1 | / #![feature(associated_type_bounds)] 2 | | 3 | | fn hello<'b, F>() 4 | | where 5 | | for<'a> F: Iterator<Item: 'a> + 'b, 6 | | {} | |__^ consider adding a `main` function to `/home/runner/work/glacier/glacier/ices/71443-2.rs` error: aborting due to previous error For more information about this error, try `rustc --explain E0601`. ==============

view details

rustbot

commit sha 12d9a2176063b79ef367fb50a771654a43329c2e

ices/71659.rs: fixed with errors === stdout === === stderr === error[E0277]: the trait bound `dyn Foo: CastTo<[i32]>` is not satisfied --> /home/runner/work/glacier/glacier/ices/71659.rs:30:15 | 30 | let x = x.cast::<[i32]>(); | ^^^^ the trait `CastTo<[i32]>` is not implemented for `dyn Foo` error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. ==============

view details

rustbot

commit sha 22109f0d4418ba7e0e38fcacd472bf3489fc9b3a

ices/73035.rs: fixed with errors === stdout === === stderr === error[E0277]: the trait bound `T: Clone` is not satisfied --> /home/runner/work/glacier/glacier/ices/73035.rs:3:13 | 3 | type X<T> = impl Clone; | ^^^^^^^^^^ the trait `Clone` is not implemented for `T` | help: consider restricting type parameter `T` | 3 | type X<T: Clone> = impl Clone; | ^^^^^^^ error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. ==============

view details

rustbot

commit sha 1bbc0bd31468db5339a8e6d81516231cae2d7009

ices/74816.rs: fixed with errors === stdout === === stderr === error[E0277]: the trait bound `Self: Trait1` is not satisfied --> /home/runner/work/glacier/glacier/ices/74816.rs:10:5 | 10 | type Associated: Trait1 = Self; | ^^^^^^^^^^^^^^^^^------^^^^^^^^ | | | | | required by this bound in `Trait2::Associated` | the trait `Trait1` is not implemented for `Self` | help: consider further restricting `Self` | 9 | trait Trait2: Trait1 { | ^^^^^^^^ error[E0277]: the size for values of type `Self` cannot be known at compilation time --> /home/runner/work/glacier/glacier/ices/74816.rs:10:5 | 10 | type Associated: Trait1 = Self; | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | | | doesn't have a size known at compile-time | required by this bound in `Trait2::Associated` | help: consider further restricting `Self` | 9 | trait Trait2: Sized { | ^^^^^^^ error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0277`. ==============

view details

rustbot

commit sha 99afa85c90db41e6cc0f838ce24b48e57ac92758

ices/75707.rs: fixed with errors === stdout === === stderr === error[E0277]: the trait bound `MyCall: Callback` is not satisfied --> /home/runner/work/glacier/glacier/ices/75707.rs:13:5 | 7 | fn f<P:Processing+?Sized>() { | ---------- required by this bound in `f` ... 13 | f::<dyn Processing<Call=MyCall>>(); | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `Callback` is not implemented for `MyCall` error: aborting due to previous error For more information about this error, try `rustc --explain E0277`. ==============

view details

rustbot

commit sha 40f465cfea7422b0d2e579bfe3cdf3857e2893b1

ices/75983.rs: fixed with no errors === stdout === === stderr === warning: function is never used: `new` --> /home/runner/work/glacier/glacier/ices/75983.rs:9:4 | 9 | fn new() -> impl Baz { | ^^^ | = note: `#[warn(dead_code)]` on by default warning: 1 warning emitted ==============

view details

Yuki Okushi

commit sha b885c346a39b871fcf3c10cbb4342438556d757d

Merge pull request #499 from rust-lang/autofix/ices/73035.rs

view details

Yuki Okushi

commit sha 1c17e426431e0f5a5fd13d33815bafade4062d4d

Merge pull request #490 from rust-lang/autofix/ices/63154-2.rs ices/63154-2.rs: fixed with no errors

view details

Yuki Okushi

commit sha 2ab6ba2efe9c9c99a2bda2c743dd6919bdc6c2e7

Merge pull request #487 from rust-lang/autofix/ices/52843.rs ices/52843.rs: fixed with errors

view details

Yuki Okushi

commit sha 85521d91737267fd6aedff9f6b22e2897b9c685f

Merge pull request #488 from rust-lang/autofix/ices/53448.rs ices/53448.rs: fixed with errors

view details

push time in 8 days

PR opened rust-lang/glacier

Add ICE 77735
+10 -0

0 comment

1 changed file

pr created time in 8 days

create barncholiviacrain/glacier

branch : 77735

created branch time in 8 days

fork oliviacrain/rust

Empowering everyone to build reliable and efficient software.

https://www.rust-lang.org

fork in 16 days

push eventoliviacrain/glacier

Alex Macleod

commit sha 718f76459c46e643ab0f4853c0bc6d928ff83a18

Merge pull request #486 from oliviacrain/master Add ICE 77475

view details

push time in 16 days

PR opened rust-lang/glacier

Add ICE 77475
+5 -0

0 comment

1 changed file

pr created time in 17 days

push eventoliviacrain/glacier

Olivia Crain

commit sha c0be7ce85a79860e32ffd25a9f3bfc38ca236d3b

Add ICE 77475

view details

push time in 17 days

push eventoliviacrain/glacier

Alex Macleod

commit sha 623860582ddbda5544086dff58569efbb591a3a0

Merge pull request #482 from JohnTitor/update-deps Update dependencies

view details

rustbot

commit sha c508922d962698e1ca31f798aabaf35cf9f3671d

ices/74608.rs: fixed with errors === stdout === === stderr === error: index exceeds number of arguments --> /home/runner/work/glacier/glacier/ices/74608.rs:3:29 | 3 | #[rustc_args_required_const(1)] | ^ there is only 1 argument error: aborting due to previous error ==============

view details

rustbot

commit sha 48d9a518528c1ca31b1c005ee38540e6128c08d3

ices/75323.rs: fixed with errors === stdout === === stderr === error[E0601]: `main` function not found in crate `75323` --> /home/runner/work/glacier/glacier/ices/75323.rs:1:1 | 1 | / #![feature(min_const_generics)] 2 | | 3 | | fn test<const N: usize>() {} 4 | | ... | 12 | | &() 13 | | } | |_^ consider adding a `main` function to `/home/runner/work/glacier/glacier/ices/75323.rs` error[E0658]: a non-static lifetime is not allowed in a `const` --> /home/runner/work/glacier/glacier/ices/75323.rs:8:21 | 8 | let _: &'a (); | ^^ | = note: see issue #44580 <https://github.com/rust-lang/rust/issues/44580> for more information = help: add `#![feature(const_generics)]` to the crate attributes to enable error: aborting due to 2 previous errors Some errors have detailed explanations: E0601, E0658. For more information about an error, try `rustc --explain E0601`. ==============

view details

rustbot

commit sha c9eb27b4a7363d650629f44e597851b6def48a9a

ices/77320.rs: fixed with errors === stdout === === stderr === error[E0133]: call to unsafe function is unsafe and requires unsafe function or block --> /home/runner/work/glacier/glacier/ices/77320.rs:2:18 | 2 | const ZST: &() = std::mem::transmute(FOO); | ^^^^^^^^^^^^^^^^^^^^^^^^ call to unsafe function | = note: consult the function's documentation for information on how to avoid undefined behavior error: aborting due to previous error For more information about this error, try `rustc --explain E0133`. ==============

view details

Yuki Okushi

commit sha ee17be6ee719c3a39dd9b7c77350e85adf0bdfaa

Merge pull request #483 from rust-lang/autofix/ices/74608.rs ices/74608.rs: fixed with errors

view details

Yuki Okushi

commit sha 370418498f192486f3039ba4a025ef4d6b46ca6b

Merge pull request #484 from rust-lang/autofix/ices/75323.rs ices/75323.rs: fixed with errors

view details

Yuki Okushi

commit sha e73e3ffb6e73bd7b91a8ad61982056fc55795989

Merge pull request #485 from rust-lang/autofix/ices/77320.rs ices/77320.rs: fixed with errors

view details

push time in 17 days

push eventoliviacrain/glacier

Olivia Crain

commit sha eea3a428e003a35c127a1351c6630284322f2b7d

Add ICE 77475

view details

Olivia Crain

commit sha 1967207138b8bf0cd27727937eac287d06ad2ab2

Add ICE 77475

view details

push time in 17 days

push eventoliviacrain/glacier

Olivia Crain

commit sha 42e4009212ce7bb81a2d22ff0e8c7528e083d699

Add ICE 77475

view details

Olivia Crain

commit sha 301bbfc05940b09dd6260662af9135fbcd733526

Add newline oops

view details

push time in 17 days

push eventoliviacrain/glacier

Olivia Crain

commit sha aef8d904acda146aeb501a6c757b87f1903e500d

Add ICE 77475

view details

push time in 17 days

fork oliviacrain/glacier

A big 'ol pile of ICE.

fork in 17 days

fork oliviacrain/qmk_firmware

Open-source keyboard firmware for Atmel AVR and Arm USB families

https://qmk.fm

fork in 2 months

more