My personal dotfiles (managed by dotbot)
A big 'ol pile of ICE.
oreboot is a fork of coreboot, with C removed, written in Rust.
Open-source keyboard firmware for Atmel AVR and Arm USB families
Empowering everyone to build reliable and efficient software.
A bunch of lints to catch common mistakes and improve your Rust code
A secure embedded operating system for microcontrollers
push eventoliviacrain/rust
commit sha 5573a163530f12a38a865b67eb7994414e9cd49c
Use `try{}` in `try_fold` to decouple library from `Try` details
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.
commit sha 86e030391b2e81c44beed94e3070406994caaad5
Make sure cold code is as small as possible
commit sha 5f11e71721e038ebdd9b225eec3e86f1ee7f867b
Reuse memory for process_cycles
commit sha 8c7a8a62ddffe8bd9c144a8647a31c8138366f42
Turn Outcome into an opaque type to remove some runtime checks
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.
commit sha c0d29fe7d7a32dbadad161fe8a39bc996da3c633
Fix issue with specifying generic arguments for primitive types
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.
commit sha 67dc9b75813994467cc15434c7f1e6bc2ca471bd
Add missing punctuation
commit sha 880d644a5080fcbfed16fb49a776729a3d4cb1b7
Add link to rustdoc book in rustdoc help popup
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.
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.
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
commit sha 81180f4d99deeead1dfb3aedcfb9652654bf9ea4
Rollup merge of #78099 - pierwill:patch-5, r=jonas-schievink Add missing punctuation
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:    r? @jyn514
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`
push time in 13 hours
push eventoliviacrain/rust
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.
commit sha 1ff7da6551a7cdf6ace2a9d00e92bbab550334ee
Move `slice::check_range` to `RangeBounds`
commit sha 1095dcab96d524e700b11edf366d45a0fd173fa0
Fix links
commit sha eb63168e007058dad4af758faf1dca449c049777
Fix doctests
commit sha f055b0bb0847ecf08fe452a270faae8324b55b05
Rename method to `assert_len`
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.
commit sha 094f14c554c3a1f103a5d6778d4b4e131c297f11
Add article after "to" Also added missing backtick in "you can cast" message.
commit sha 8a6831a7fd3fc624643b50f494212e0ceaad3c28
Say "doesn't" instead of "wouldn't" in convert message
commit sha 9c302f55bd07a04305dfa2bd815d2559deb8468f
normalize in codegen_fulfill_obligations
commit sha f0487cee7439f3a4b4c7daec0e7f2a0ccc21053c
normalize substs during inlining
commit sha 32739a2ff1b7b6e5c1b475341b01f4a499830a84
add regression test
commit sha ac893b8a02788eec6f6fad0cc89de0177b0c0a50
add test for should_inline incorrect param_env
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
commit sha 3717646366a91ee9ca0b574973ec090670f9a4f8
Add std::thread::available_concurrency
commit sha bd145a30489e0dd529889627eb350c9cb5990f71
Update LLVM for LLD COFF TLS alignment fix.
commit sha 786e3ea31a5ca19651612e56f5d2df84a3845638
Fix grammar in note for orphan-rule error [E0210]
commit sha 3522add318f8fbcd96a032f6779be09ba3d80478
resolve: Do not put nonexistent crate `meta` into prelude
commit sha 3d484481c7413a97117f059e10a53dff29d74498
Make set_span take mut self
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.
commit sha 3566132a836f76e7365a47a1687edace7604bb39
Small CSS cleanup
push time in a day
push eventoliviacrain/rust
commit sha e023158145ece18176a2e93420600ccda0d0bc58
Permit uninhabited enums to cast into ints This essentially reverts part of #6204.
commit sha 990a39596cf3b33e550f2045f78a62970f8d78f8
Prevent ICE on uninhabited MIR interpretation
commit sha a02014280586b53997622c501db00398376967a8
Refactor io/buffered.rs into submodules
commit sha 96229f02402e82914ec6100b28ad2cbdd273a0d4
move buffered.rs to mod.rs
commit sha 6d75cdfc9ed9e6987bd23add6cf3954d2499dce2
Added updated compiler diagnostic
commit sha da700cba08a2b194d19e63d3c51ebadce96fe46b
Stabilize move_ref_pattern
commit sha afb9eeb1b9ea16ca65e38673a0ef3e7be81d7252
Disabled error `E0007` from rustc_error_codes
commit sha c4280af8285c61b367a87c8f6eef9876011a8150
Retry fix error reporting suggestions
commit sha 13dfbb64d313137b7d3c33067910e90f27bc6345
Suggest imports of unresolved macros
commit sha 479298e05e8177b171c6d6bcd35fc7553b424bee
Re-run tests with --bless
commit sha ea7cf6106864ce7929eb9f3cfe580f05ee418ac8
Don't suggest macros that out of scope
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.
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".
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).
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
commit sha f84f01c0148cfb2451775fcbf299a2e7b10b1e81
Use futex-based thread-parker for Wasm32.
commit sha 54a71e89546886951e32035960aa82a15a343668
For backtrace, use StaticMutex instead of a raw sys Mutex.
commit sha e6d61ade9c1523dc2dd7cbd97206d6ebc5b5d481
Use slice_as_mut_ptr instead of first_ptr_mut. This function was renamed.
commit sha 0f26578f2e2e41c51279f3b2bd967785241d316d
Get rid of UnsafeCell<MaybeUninit>s in cloudabi mutex.
commit sha 41066beb4dd3a7618e1f7617d60704f5c4425bf7
Get rid of UnsafeCell in cloudabi rwlock.
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.
comment created time in a day
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!
comment created time in a day
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!
comment created 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.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
comment created time in a day
push eventoliviacrain/rust
commit sha 17c6c5932c8de780fcd1d06aff230e8cc6bca9f8
Mark InOut operands as used in RWU table with write_place
commit sha 8f0bceda13ac871dd452841d3b6aa049f9f649a1
Refactor liveness-issue-77915 to liveness-asm and improve tests
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.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.
comment created time in 3 days
push eventoliviacrain/rust
commit sha e023158145ece18176a2e93420600ccda0d0bc58
Permit uninhabited enums to cast into ints This essentially reverts part of #6204.
commit sha 990a39596cf3b33e550f2045f78a62970f8d78f8
Prevent ICE on uninhabited MIR interpretation
commit sha a02014280586b53997622c501db00398376967a8
Refactor io/buffered.rs into submodules
commit sha 96229f02402e82914ec6100b28ad2cbdd273a0d4
move buffered.rs to mod.rs
commit sha 6d75cdfc9ed9e6987bd23add6cf3954d2499dce2
Added updated compiler diagnostic
commit sha da700cba08a2b194d19e63d3c51ebadce96fe46b
Stabilize move_ref_pattern
commit sha afb9eeb1b9ea16ca65e38673a0ef3e7be81d7252
Disabled error `E0007` from rustc_error_codes
commit sha c4280af8285c61b367a87c8f6eef9876011a8150
Retry fix error reporting suggestions
commit sha 13dfbb64d313137b7d3c33067910e90f27bc6345
Suggest imports of unresolved macros
commit sha 479298e05e8177b171c6d6bcd35fc7553b424bee
Re-run tests with --bless
commit sha ea7cf6106864ce7929eb9f3cfe580f05ee418ac8
Don't suggest macros that out of scope
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.
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".
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).
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
commit sha f84f01c0148cfb2451775fcbf299a2e7b10b1e81
Use futex-based thread-parker for Wasm32.
commit sha 54a71e89546886951e32035960aa82a15a343668
For backtrace, use StaticMutex instead of a raw sys Mutex.
commit sha e6d61ade9c1523dc2dd7cbd97206d6ebc5b5d481
Use slice_as_mut_ptr instead of first_ptr_mut. This function was renamed.
commit sha 0f26578f2e2e41c51279f3b2bd967785241d316d
Get rid of UnsafeCell<MaybeUninit>s in cloudabi mutex.
commit sha 41066beb4dd3a7618e1f7617d60704f5c4425bf7
Get rid of UnsafeCell in cloudabi rwlock.
push time in 3 days
push eventoliviacrain/rust
commit sha cfb8207da52fcf87796eaf3700dc0e30a0a5ffba
Treat InOut variables like other input variables
push time in 3 days
fork oliviacrain/oreboot
oreboot is a fork of coreboot, with C removed, written in Rust.
fork in 3 days
push eventoliviacrain/glacier
commit sha aaa40ed291f83ebb4f56e3b6d96180d39ea26403
Newlines, ew
push time in 4 days
push eventoliviacrain/glacier
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
commit sha 2277e9a0abcbce9f2ad7062725af2b44940fa653
Add ICE 77987 (#505)
push time in 4 days
push eventoliviacrain/rust
commit sha f2a237a9354abb841bcd5d9ce96b0daf38fcedbd
Fix link to foreign calling conventions
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' {} \;
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.
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
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.
commit sha 8d8554d23474b19b68533c4c9e42bac164aa6fd0
Fix typo in documentation
commit sha fce04fedd6b5ea77f9ac0d4373aa589abe3306e6
Hide help button on mobile devices
commit sha e117c0615524e33215f7c0c52c3b2569c0608753
Rollup merge of #77963 - kraai:fix-foreign-calling-conventions-link, r=jonas-schievink Fix link to foreign calling conventions
commit sha 313de68e22565b453596da4675dd0f67e4ccebe9
Rollup merge of #77978 - strct:patch-2, r=jonas-schievink Fix typo in documentation
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:  After:  r? @jyn514
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.
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`
push time in 5 days
push eventoliviacrain/rust
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 <[email protected]> Co-authored-by: Jenny Wills <[email protected]>
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 <[email protected]>
commit sha 3c46fd67f8b4831da9f2e8a536d34f498cf70241
traits diagnostics: Don't print closure/generator upvar_tys tuple Co-authored-by: Roxane Fruytier <[email protected]>
commit sha a64ad51ff7ae2f82d4aed5bc4d3a7c3d3b7c7117
Address comments
commit sha 5c4565771ea62c081eb21adc4cf57aeb761ee211
Rebase LLVM onto 11.0.0 final
commit sha 71bf7cfce131cb4515f55e02600228e2c833520b
Update cargo
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`
commit sha 596b0d5027bfb1b5835e17a25f56b00a1f6ff95f
Auto merge of #77948 - cuviper:rust-llvm11, r=nikic Rebase LLVM onto 11.0.0 final
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)
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.
comment created time in 5 days
PR opened rust-lang/rust
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
pr created time in 5 days
push eventoliviacrain/rust
commit sha 0ad3da06843089c0bf10d6caa3fbbc72fa67787a
Enable ASLR for windows-gnu
commit sha a35a93f09cc111a53d00efc567ad678583dd5ac7
Pass tune-cpu to LLVM I think this is how it should work...
commit sha 97beb074aff40cb1b6444e9eff734a1a5c17dfc7
BTreeMap: derive type-specific variants of node_as_mut and cast_unchecked
commit sha a215151cd357945acdb2675010708cb2d10bb4c0
Allow ascii whitespace char for doc aliases
commit sha accc26abc0e53067d7a97d0fb19800c37a24f844
Add test for whitespace in doc alias
commit sha 11f3476c59ee013c017e669676cfaca00a67b3f1
Enforce whitespace ascii character check for doc alias
commit sha e55d27fbcefffbddb85f28cf4eb913674f2188c6
Remove unnecessary rustc_const_stable attributes.
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.
commit sha 3d192ace34bcb13d3c033735cd7415260040c252
Remove unsafety from unsupported/rwlosck.rs by using a Cell. Replacing the UnsafeCell by a Cell makes it all safe.
commit sha f4e884288d0a1d6210e15bc7f8b014ef4cf86c32
Apply deny(unsafe_op_in_unsafe_fn) to all of sys/unsupported.
commit sha f1c3edbfaba6dd1723fcd63857f7de5ef2278f57
Assert state in sys/unsupported's RwLock::write_unlock. Co-authored-by: Joshua Nelson <[email protected]>
commit sha 07627a3aa3dc7e0e961b523808dfd55bb86bde3e
Add a regression test for issue-52843
commit sha 32bc245bc09c724699cb1fed63c2ea17a20532c4
Add a regression test for issue-53448
commit sha ebc1f89ecf3a8de6da0ed6c5809586105f5d7fae
Add a regression test for issue-54108
commit sha 3a4fe97052cf9d3f244fcab885e338a6384cefa6
Add a regression test for issue-65581
commit sha 83370efdb64058397b4cd99ee2d31cf94b91757c
Add a regression test for issue-65934
commit sha e4fa906c44b5f746107d1bbfc648a2edeb29b627
Add a regression test for issue-70292
commit sha fb4d62759b6d4a5165f1a4401eb8c55c9f7f6211
Add a regression test for issue-71443
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 <[email protected]>
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 <[email protected]>
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
comment created time in 5 days
push eventoliviacrain/glacier
commit sha fc6f299c932ad23aae4df6d98b93e4be27ac7c24
Add end of file newline
push time in 7 days
push eventoliviacrain/glacier
commit sha 0fa37985fa21c936bba64116dffc4e10b06948e1
Add ICE 77919
commit sha 7b6a24260dc15080d5bea70657d260a04bf4d9d4
Add ICE 77911
commit sha 3203faa2d25fd1805ce90a73df58f11b22ea87d0
Add ICE 77910
push time in 7 days
push eventoliviacrain/glacier
commit sha 64bad420b09b15ad969c4f7f895b5b4f2ed7008c
Add ICE 77735 (#503) * Add ICE 77735 * formatting fix
push time in 7 days
push eventoliviacrain/rust
commit sha b4b383981abac7ca8aa180c7ae3e28876615b887
Add PartialEq impls for Vec <-> slice
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.
commit sha a009e2838b25df2761093d727d322a59f69d8f68
There isn't a way to pass --remove yet, but you can rm if u like
commit sha 492826ac144666c75d68bc0a0121453ecc08561f
Add a note about the panic behavior of math operations on time objects
commit sha 390a13b06c79d4177b829097b06453e38188081f
needless-lifetime - fix nested elision site FPs
commit sha a60e5de90c7370d4fb3e6561d3cb55495cda2e2a
needless-lifetime / nested elision sites / PR remarks
commit sha c8e9e52303da6dff4bc5cc4db3021d608fca6c70
needless-lifetime / add test cases for nested elision sites
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.
commit sha 0117ea2b016133145f9e02e27421ac3672b42f57
Refactoring: use inner function
commit sha b80576fba633e1fc214c9f6900d7ca3424bda6d0
Some refactoring
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
commit sha 2972ad3ef661071531a61ec8999b668a6b734b74
Refactoring: tests in `same_item_push`
commit sha 730ca457f580247667ed0cd5965bc08752ebc0b3
Address `items_after_statement`
commit sha 72b402ed38f0c71461038aef8a49a02e49280788
Add pass names to some common dataflow analyses
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.
commit sha dc655b28424549a4775bc2e8c9021d44482bccb1
Prevent stackoverflow
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.
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.
commit sha 3e294b22a43be349262405715cf4885296c284ba
Revert "or_fn_call: ignore nullary associated const fns" This reverts commit 7a66e6502dc3c7085b3f4078c01d4957d96175ed.
commit sha ce83d8d4d1b28e73888a616d3ffbf19c6a620588
Revert "Avoid or_fun_call for const_fn with no args" This reverts commit 5d66bd7bb3fd701d70ec11217e3f89fabe5cb0a7.
push time in 7 days
A bunch of lints to catch common mistakes and improve your Rust code
https://rust-lang.github.io/rust-clippy/
fork in 8 days
push eventoliviacrain/glacier
commit sha 270165615eb82315c39db16c685b3c7b5c862fe4
formatting fix
push time in 8 days
pull request commentrust-lang/glacier
Oops, thanks- missed that step!
comment created time in 8 days
push eventoliviacrain/glacier
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`. ==============
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`. ==============
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`. ==============
commit sha d1673c9fbadca8e45b9d6c0cd5df84581de70059
ices/63154-2.rs: fixed with no errors === stdout === === stderr === ==============
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`. ==============
commit sha 683e49c83a14aa55bcaf61037a32ccb57b8ec025
ices/65581.rs: fixed with no errors === stdout === === stderr === ==============
commit sha 1c9deb0100975e509741a8c852c85278b95358f4
ices/65934.rs: fixed with no errors === stdout === === stderr === ==============
commit sha 2de7cbea09bb866c6b11e9c677701cec53c4ac7c
ices/70292.rs: fixed with no errors === stdout === === stderr === ==============
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`. ==============
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`. ==============
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`. ==============
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`. ==============
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`. ==============
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`. ==============
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`. ==============
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 ==============
commit sha b885c346a39b871fcf3c10cbb4342438556d757d
Merge pull request #499 from rust-lang/autofix/ices/73035.rs
commit sha 1c17e426431e0f5a5fd13d33815bafade4062d4d
Merge pull request #490 from rust-lang/autofix/ices/63154-2.rs ices/63154-2.rs: fixed with no errors
commit sha 2ab6ba2efe9c9c99a2bda2c743dd6919bdc6c2e7
Merge pull request #487 from rust-lang/autofix/ices/52843.rs ices/52843.rs: fixed with errors
commit sha 85521d91737267fd6aedff9f6b22e2897b9c685f
Merge pull request #488 from rust-lang/autofix/ices/53448.rs ices/53448.rs: fixed with errors
push time in 8 days
push eventoliviacrain/glacier
commit sha 718f76459c46e643ab0f4853c0bc6d928ff83a18
Merge pull request #486 from oliviacrain/master Add ICE 77475
push time in 16 days
push eventoliviacrain/glacier
commit sha c0be7ce85a79860e32ffd25a9f3bfc38ca236d3b
Add ICE 77475
push time in 17 days
push eventoliviacrain/glacier
commit sha 623860582ddbda5544086dff58569efbb591a3a0
Merge pull request #482 from JohnTitor/update-deps Update dependencies
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 ==============
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`. ==============
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`. ==============
commit sha ee17be6ee719c3a39dd9b7c77350e85adf0bdfaa
Merge pull request #483 from rust-lang/autofix/ices/74608.rs ices/74608.rs: fixed with errors
commit sha 370418498f192486f3039ba4a025ef4d6b46ca6b
Merge pull request #484 from rust-lang/autofix/ices/75323.rs ices/75323.rs: fixed with errors
commit sha e73e3ffb6e73bd7b91a8ad61982056fc55795989
Merge pull request #485 from rust-lang/autofix/ices/77320.rs ices/77320.rs: fixed with errors
push time in 17 days
push eventoliviacrain/glacier
commit sha eea3a428e003a35c127a1351c6630284322f2b7d
Add ICE 77475
commit sha 1967207138b8bf0cd27727937eac287d06ad2ab2
Add ICE 77475
push time in 17 days
push eventoliviacrain/glacier
commit sha 42e4009212ce7bb81a2d22ff0e8c7528e083d699
Add ICE 77475
commit sha 301bbfc05940b09dd6260662af9135fbcd733526
Add newline oops
push time in 17 days
push eventoliviacrain/glacier
commit sha aef8d904acda146aeb501a6c757b87f1903e500d
Add ICE 77475
push time in 17 days
Open-source keyboard firmware for Atmel AVR and Arm USB families
fork in 2 months