profile
viewpoint
If you are wondering where the data of this site comes from, please visit https://api.github.com/users/Aaron1011/events. GitMemory does not store any data, but only uses NGINX to cache data for a period of time. The idea behind GitMemory is simply to give users a better reading experience.

Aaron1011/acme-redirect 1

Tiny http daemon that answers acme challenges and redirects everything else to https

Aaron1011/actix 1

Actor framework for Rust

Aaron1011/actix-net 0

framework for composable networking services

Aaron1011/actix-web 0

Actix web is a small, pragmatic, and extremely fast rust web framework.

Aaron1011/ActuallyAdditions 0

A Minecraft Mod about lots of useful gadgets and things!

Aaron1011/afl.rs 0

🐇 Fuzzing Rust code with american-fuzzy-lop

Aaron1011/alacritty 0

A cross-platform, GPU-accelerated terminal emulator

push eventAaron1011/rust

Fabian Wolff

commit sha 0d8245b5b1f587ed2e52b6c97732299bdf7368df

Improve diagnostics if a character literal contains combining marks

view details

jackh726

commit sha 1ed18f589ec62bf99a4ff541830fbc2bc48ce9f1

In suggest_missing_return_type, erase late bound regions after normalizing

view details

Gus Wynn

commit sha 2271376fb224661fd8b7e5e5788217e8fe9e5ecc

must_not_suspend impl

view details

Gus Wynn

commit sha 67ee91e77e8106357df63fc2d4b6f04f36ccd2da

remove attempt at fn call

view details

Gus Wynn

commit sha 74ea16301e2e6fb96ac8414761cf227775e64dfd

skip the uninhabitated check and comments

view details

Gus Wynn

commit sha 461a0f3da4acd6dfea31b9f12c1e14405b055438

array comment + test for references

view details

Gus Wynn

commit sha ee1d2ea3b73d07d95d5c22ccd1e884e3674fcec6

fix doctests

view details

Wesley Wiser

commit sha 3d69b5bc17e29348c36f76b400e70bccd007f491

Add tracing level for codegen_mir

view details

Wesley Wiser

commit sha 7790af4d889f6238935b1da590cd113b658c53a8

Add test to show issue with ScalarPair parameters

view details

Wesley Wiser

commit sha 4e8701e6200d114d9576f8cdf9721b0a81de0118

Fix debuginfo for ScalarPair abi parameters Mark all of these as locals so the debugger does not try to interpret them as being a pointer to the value. This extends the approach used in PR #81898.

view details

Oli Scherer

commit sha a6c642a9f861c504a63ae0a624b3cb559eee0051

Update compiler/rustc_codegen_ssa/src/mir/mod.rs

view details

Gus Wynn

commit sha 2af1ebfbdf01e4aa43fd9b1b5af602b545101e1f

error formatting and fix build

view details

Gus Wynn

commit sha 110aecd23eefa603ffd1b5d8f64832230d42b435

factor into struct, and comments

view details

Maybe Waffle

commit sha 71e2eacc7bedeba7ca851164d0485c7e635a6697

Stabilize `Iterator::map_while`

view details

klensy

commit sha cccd6e0e830fcaaa5891102f48b10786c24a2fe5

EscapeDefault: change `range` field to `Range<u8>`, reducing struct size 24 -> 6 bytes

view details

Gus Wynn

commit sha f1021bf05459ca5e84a580895565cab9663ed839

generic test

view details

Gus Wynn

commit sha 08e026675ee38bb4ca81106e766a6456c8b7382e

deduplication

view details

Cameron Steffen

commit sha 7c8f4f7eabe876057d855a2f5c008bedb6f477a4

Remove needless hir Map ref

view details

Hirochika Matsumoto

commit sha 21eff8f050b80e28309f72f659339ecfba2e0344

Suggest replacing braces for brackets on array-esque invalid block expr Newcomers may write `{1, 2, 3}` for making arrays, and the current error message is not informative enough to quickly convince them what is needed to fix the error. This PR implements a diagnostic for this case, and its output looks like this: ```text error: this code is interpreted as a block expression, not an array --> src/lib.rs:1:22 | 1 | const FOO: [u8; 3] = { | ______________________^ 2 | | 1, 2, 3 3 | | }; | |_^ | = note: to define an array, one would use square brackets instead of curly braces help: try using [] instead of {} | 1 | const FOO: [u8; 3] = [ 2 | 1, 2, 3 3 | ]; | ``` Fix #87672

view details

Daira Hopwood

commit sha a627b4f2bfb3012bd69650ee7defc9ef2ef2ec1e

[bootstrap] Improve the error message when `ninja` is not found to link to installation instructions. Signed-off-by: Daira Hopwood <daira@jacaranda.org>

view details

push time in 2 days

pull request commentrust-lang/rust

Use larger span for adjustment THIR expressions

It looks like storing the additional span in Adjustment is causing a large number of new incr comp invalidations of typecheck results. I'll see if anything can be done about it.

Aaron1011

comment created time in 2 days

push eventAaron1011/rust

Mara Bos

commit sha d5aec64c12db44ddcfbf8682b9ec4e515a6f9953

Add proc_macro::Span::{before, after}.

view details

Mara Bos

commit sha f9be6cd8988a48a532c99a9f5b887a6d354e5b2f

Add tracking issue number to proc_macro_span_shrink.

view details

Fabian Wolff

commit sha 4e76c3820fea97e06f08555d4eeee3de3be4eb5a

Fix ICE in `improper_ctypes_definitions` lint with all-ZST transparent types

view details

Kevin Reid

commit sha 07988bb8a1ce5b6732d351c4299f0b0a4d51e192

Reword description of automatic impls of `Unsize`. The existing documentation felt a little unhelpfully concise, so this change tries to improve it by using longer sentences, each of which specifies which kinds of types it applies to as early as possible. In particular, the third item starts with “Structs ...” instead of saying “Foo is a struct” later. Also, the previous list items “Only the last field has a type involving `T`” and “`T` is not part of the type of any other fields” are, as far as I see, redundant with each other, so I removed the latter.

view details

Esteban Kuber

commit sha 34d19634f5ae448ff3fb281b22306cc8cfa3ee8c

Use smaller spans for some structured suggestions Use more accurate suggestion spans for * argument parse error * fully qualified path * missing code block type * numeric casts * E0212

view details

Fabian Wolff

commit sha 2884a74d083cc6d601e5f1e53cc33b60e9655cfc

Fix non-capturing closure return type coercion

view details

Amanieu d'Antras

commit sha 4d6bfdec9e2b4f613fffca2dd92af4ad744d3f9e

Improve error message when _ is used for in/inout asm operands

view details

Camille GILLOT

commit sha 5e35fadddb8b91f6f7d47fb19e635d1fb1b2a965

Move dep_graph checking into try_load_from_disk_and_cache_in_memory.

view details

Camille GILLOT

commit sha 0edc775b90a6892a37ec4d41f72417fc379e67db

Only clone key when needed.

view details

Camille GILLOT

commit sha cd1cb3449e3c92f6fbcd907d58b3009b1067d7f0

Simplify control flow.

view details

Camille GILLOT

commit sha c3bf3969d408f46881908336f9e3a8721601abc4

Move assertion inwards. `with_taks_impl` is only called from `with_eval_always_task` and `with_task` . The former is only used in query invocation, while the latter is also used to start the `tcx` and to trigger codegen. This move should not change significantly the number of calls to this assertion.

view details

Camille GILLOT

commit sha 45d6decc19b419448961fdb5ba3e062c9267a393

Remove try_mark_green_and_read.

view details

Camille GILLOT

commit sha 283a8e14453c9f1532087caa1aa08743c8f4c58d

Make all query forcing go through try_execute_query. try_execute_query is now able to centralize the path for query get/ensure/force. try_execute_query now takes the dep_node as a parameter, so it can accommodate `force`. This dep_node is an Option to avoid computing it in the `get` fast path. try_execute_query now returns both the result and the dep_node_index to allow the caller to handle the dep graph. The caller is responsible for marking the dependency.

view details

Camille GILLOT

commit sha 13d4eb92b8894c54dd3f35c4bc362d3d51008b76

Do not compute the dep_node twice.

view details

Camille GILLOT

commit sha d2304008c1ea8985f21e98ecdba3108611e8786d

Complete job outside of force_query_with_job.

view details

Camille GILLOT

commit sha 307aacaf05419fbd45c9c5c428cb1004801f455b

Decouple JobOwner from cache.

view details

Camille GILLOT

commit sha ef4becdce4198107507734246f6ffd053d0b8c67

Split try_execute_query.

view details

Camille GILLOT

commit sha f2c8707abbedee2587b5653a42e0860a101f0ddf

Remove force_query_with_job.

view details

Camille GILLOT

commit sha eeb3c8f4b786cd97028b9f1e134cb628c8879569

Unify `with_task` functions. Remove with_eval_always_task.

view details

Camille GILLOT

commit sha 31330bfce12f59b9c9a4d7b20235fdc38dcf7583

Use variable.

view details

push time in 2 days

push eventAaron1011/rust

Wesley Wiser

commit sha f1f5108ca367bef48d1429e889f0ec9340de5038

Revert "Temporarily ignore some debuginfo tests on windows." This reverts commit 8059bc1069b88a51ec2dfc2483854b9a854b1994.

view details

Wesley Wiser

commit sha e156df2a1cd722ebea9f2958d3627f1819835c0a

Fix debuginfo tests for the latest version of the Windows SDK. - Cdb now correctly visualizes enums. - Cdb doesn't render emoji characters in `OSStr` anymore. - Cdb doesn't always render `str` correctly (#88840)

view details

Aaron Hill

commit sha a41a13f775dfbc73b7c99e92619fd301ffcc4a53

Add `ConstraintCategory::Usage` for handling aggregate construction In some cases, we emit borrowcheck diagnostics pointing at a particular field expression in a struct expression (e.g. `MyStruct { field: my_expr }`). However, this behavior currently relies on us choosing the `ConstraintCategory::Boring` with the 'correct' span. When adding additional variants to `ConstraintCategory`, (or changing existing usages away from `ConstraintCategory::Boring`), the current behavior can easily get broken, since a non-boring constraint will get chosen over a boring one. To make the diagnostic output less fragile, this commit adds a `ConstraintCategory::Usage` variant. We use this variant for the temporary assignments created for each field of an aggregate we are constructing. Using this new variant, we can emit a message mentioning "this usage", emphasizing the fact that the error message is related to the specific use site (in the struct expression). This is preparation for additional work on improving NLL error messages (see #57374)

view details

John Paul Adrian Glaubitz

commit sha 0ad0d305ffdebe15127a5c766ce5d9978ce1fe0f

bootstrap: Add cputype matching for m68k

view details

John Paul Adrian Glaubitz

commit sha df7ad3af210efbb42239780c62176eeaa73dcb5b

bootstrap: Add LLVM target matching for M68k

view details

John Paul Adrian Glaubitz

commit sha 580559129b875137e80e066bf2c87673aed9a582

compiler/rustc_target: Add support for m68k-linux-gnu

view details

John Paul Adrian Glaubitz

commit sha 9d177f89262ff2b50699bd31a5fb14e92cba7085

build-manifest: Add m68k-unknown-linux-gnu target

view details

John Paul Adrian Glaubitz

commit sha 33088b9395ad6d29670f7ffbd0a48cd0af0939e2

ci: Add Dockerfile for dist-m68k-linux

view details

John Paul Adrian Glaubitz

commit sha 0e4e0ce8844c81e0e5da97920f3e7b9a8823a896

compiletest: Add m68k to ARCH_TABLE

view details

John Paul Adrian Glaubitz

commit sha 13b029d6fc909cb4e226dac83278ceb5ccdd976d

rustdoc: Add human-readable cfg string for m68k

view details

John Paul Adrian Glaubitz

commit sha 5e56778dc8b13973dde9345e23db085eeb7bbfe9

libstd: Add m68k for raw type definitions on Linux

view details

John Paul Adrian Glaubitz

commit sha fa27d50caa5b0972803b957212a813b582a6c013

compiler/rustc_llvm: Enable M68k LLVM target

view details

John Paul Adrian Glaubitz

commit sha 2cef5d809143175765934557a5a39b581b40e837

library/std/env: Add 'm68k' to comment on ARCH constant

view details

John Paul Adrian Glaubitz

commit sha c99d365d7e8334be95ad8d7b53bea28aea3862cd

doc/platform-support.md: Add m68k-unknown-linux-gnu as Tier 3 target

view details

John Paul Adrian Glaubitz

commit sha 5d22b1afe2ff3adb9903cb71ff386828c16fd805

doc/platform-support: Add documentation for m68k-unknown-linux-gnu

view details

Aaron Hill

commit sha 95bea1594c8613988e54bd748d6d61fb02f4b562

Convert `debug_assert` to `assert` in `CachingSourceMapView` I suspect that there's a bug somewhere in this code, which is leading to the `predicates_of` ICE being seen in #89035

view details

Eduard-Mihai Burtescu

commit sha a1d7c51d27734f5af98e96d26a50357d6e145009

ty::layout: move `trait FnAbiExt` to just before its `impl`.

view details

Eduard-Mihai Burtescu

commit sha feca7d0a03ffe1c786f6fe00330b6d2df59bcfef

ty::layout: split out a private trait from `FnAbiExt`.

view details

Eduard-Mihai Burtescu

commit sha 4d36faf9ef10bda32c606517d0f2007fd53b16ac

rustc_target: `adjust_for_cabi` -> `adjust_for_foreign_abi`.

view details

Eduard-Mihai Burtescu

commit sha 7f2f927eb81c75fd0f8e5900588eb962be0a4be9

ty::layout: propagate errors up to (but not out of) `FnAbi::of_*`.

view details

push time in 2 days

pull request commentrust-lang/rust

Don't use projection cache or candidate cache in intercrate mode

This is a correctness fix, so we'll need to take the performance hit (at least until we can come up with a better solution).

@bors r=jackh726

Aaron1011

comment created time in 3 days

issue commentrust-lang/rust

Unstable fingerprints tracking issue

@MrMuetze That PR won't fix any issues by itself - it will just cause new ICEs if a different kind of compiler bug happens :)

Upgrading the compiler will automatically cause the incremental cache to be cleared, so that's why the issue went away for you. If it happens again (or you get a different ICE) using the newer compiler, please let me know,

Mark-Simulacrum

comment created time in 3 days

pull request commentrust-lang/rust

Don't use projection cache or candidate cache in intercrate mode

@bors try

Aaron1011

comment created time in 4 days

pull request commentrust-lang/rust

Don't use projection cache or candidate cache in intercrate mode

@bors r-

Aaron1011

comment created time in 4 days

pull request commentrust-lang/rust

Don't use projection cache or candidate cache in intercrate mode

@bors try @rust-timer queue

Aaron1011

comment created time in 4 days

issue openedrust-lang/rust

Clean up handling of `SelectionContext` 'intercrate' mode

The struct SelectionContext has an intercrate field. This field is only enabled during coherence checking, when we want to see if two impls overlap.

Unfortunately, this flag ends up 'infecting' a large amount of the trait selection / projection logic. In particular, InferCtxt is not aware of this flag, so we can end up caching a particular result (candidate, evaluation, or projection) in intercrate mode, and then using the cached result in non-intercrate mode.

The need for this flag may go away once we fully transition to Chalk. However, it might be worthwhile to investigate if it's possible to move (some of) the necessary logic out of SelectionContext, and into coherence checking. If we could make intercrate mode just record additional information (instead of actually altering the results of trait selection), we could safely re-use the same InferCtxt caches across different SelectionContexts.

created time in 4 days

pull request commentrust-lang/rust

Don't use projection cache or candidate cache in intercrate mode

@bors r=jackh726

Aaron1011

comment created time in 4 days

push eventAaron1011/rust

Aaron Hill

commit sha 6dbb9d4eee0a2789a74bb2d4b8228626f7cd741c

Don't use projection cache or candidate cache in intercrate mode Fixes #88969 It appears that *just* disabling the evaluation cache (in #88994) leads to other issues involving intercrate mode caching. I suspect that since we now always end up performing the full evaluation in intercrate mode, we end up 'polluting' the candidate and projection caches with results that depend on being in intercrate mode in some way. Previously, we might have hit a cached evaluation (stored during non-intercrate mode), and skipped doing this extra work in intercrate mode. The whole situation with intercrate mode caching is turning into a mess. Ideally, we would remove intercrate mode entirely - however, this might require waiting on Chalk.

view details

push time in 4 days

issue commentrust-lang/rust

`zvariant` fails to compile on latest nightly: size cannot be statically determined

I opened https://github.com/rust-lang/rust/pull/89125 with a fix.

m-ou-se

comment created time in 4 days

pull request commentrust-lang/rust

Don't use projection cache or candidate cache in intercrate mode

cc @rust-lang/wg-traits

Aaron1011

comment created time in 4 days

PR opened rust-lang/rust

Don't use projection cache or candidate cache in intercrate mode

Fixes #88969

It appears that just disabling the evaluation cache (in #88994) leads to other issues involving intercrate mode caching. I suspect that since we now always end up performing the full evaluation in intercrate mode, we end up 'polluting' the candidate and projection caches with results that depend on being in intercrate mode in some way. Previously, we might have hit a cached evaluation (stored during non-intercrate mode), and skipped doing this extra work in intercrate mode.

The whole situation with intercrate mode caching is turning into a mess. Ideally, we would remove intercrate mode entirely - however, this might require waiting on Chalk.

+32 -6

0 comment

3 changed files

pr created time in 4 days

create barnchAaron1011/rust

branch : remove-intercrate-cache

created branch time in 4 days

push eventAaron1011/rust

Aaron Hill

commit sha 45b4d3354ff96263766e82423968d6b6594417fa

Use larger span for adjustment THIR expressions Currently, we use a relatively 'small' span for THIR expressions generated by an 'adjustment' (e.g. an autoderef, autoborrow, unsizing). As a result, if a borrow generated by an adustment ends up causing a borrowcheck error, for example: ```rust let mut my_var = String::new(); let my_ref = &my_var my_var.push('a'); my_ref; ``` then the span for the mutable borrow may end up referring to only the base expression (e.g. `my_var`), rather than the method call which triggered the mutable borrow (e.g. `my_var.push('a')`) Due to a quirk of the MIR borrowck implementation, this doesn't always get exposed in migration mode, but it does in many cases. This commit makes THIR building consistently use 'larger' spans for adjustment expressions. These spans are recoded when we first create the adjustment during typecheck. For example, an autoref adjustment triggered by a method call will record the span of the entire method call. The intent of this change it make it clearer to users when it's the specific way in which a variable is used (for example, in a method call) that produdes a borrowcheck error. For example, an error message claiming that a 'mutable borrow occurs here' might be confusing if it just points at a usage of a variable (e.g. `my_var`), when no `&mut` is in sight. Pointing at the entire expression should help to emphasize that the method call itself is responsible for the mutable borrow. In several cases, this makes the `#![feature(nll)]` diagnostic output match up exactly with the default (migration mode) output. As a result, several `.nll.stderr` files end up getting removed entirely.

view details

push time in 4 days

issue closedrust-lang/rust

ICE WASM toolchain not installed. But it is installed

<!-- Thank you for finding an Internal Compiler Error! 🧊 If possible, try to provide a minimal verifiable example. You can read "Rust Bug Minimization Patterns" for how to create smaller examples.

http://blog.pnkfx.org/blog/2019/11/18/rust-bug-minimization-patterns/

-->

Code

I am currently experiencing issues when compiling to wasm and have included the commands to reproduce. Due to time limitations, I can currently not narrow it down any further. However I can use nightly-2021-09-17, which fixes the issues for me. Hopefully this can help you find the error:

$ git clone https://github.com/paritytech/substrate
$ cd substrate/primitives/runtime-interface/test-wasm
$ RUST_BACKTRACE=1 cargo build
   Compiling sp-runtime-interface-test-wasm v2.0.0 (/Users/tf/sandbox/substrate/primitives/runtime-interface/test-wasm)
error: failed to run custom build command for `sp-runtime-interface-test-wasm v2.0.0 (/Users/tf/sandbox/substrate/primitives/runtime-interface/test-wasm)`

Caused by:
  process didn't exit successfully: `/Users/tf/sandbox/substrate/target/debug/build/sp-runtime-interface-test-wasm-7a998eaa5eac0220/build-script-build` (exit status: 1)
  --- stderr
  Rust WASM toolchain not installed, please install it!

  Further error information:
  ------------------------------------------------------------
     Compiling wasm-test v1.0.0 (/var/folders/bq/bjccsvc10617dsh30gbv9mm00000gn/T/.tmpTljFvc)
  thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: "Provided allocation has wrong size for slot count 131072"', compiler/rustc_metadata/src/rmeta/decoder.rs:263:29
  stack backtrace:
     0: _rust_begin_unwind
     1: core::panicking::panic_fmt
     2: core::result::unwrap_failed
     3: rustc_metadata::rmeta::decoder::CrateMetadata::new
     4: rustc_metadata::creader::CrateLoader::maybe_resolve_crate
     5: rustc_metadata::creader::CrateLoader::maybe_resolve_crate
     6: rustc_metadata::creader::CrateLoader::process_extern_crate
     7: <rustc_resolve::build_reduced_graph::BuildReducedGraphVisitor as rustc_ast::visit::Visitor>::visit_item
     8: rustc_ast::visit::walk_item
     9: <rustc_resolve::build_reduced_graph::BuildReducedGraphVisitor as rustc_ast::visit::Visitor>::visit_item
    10: rustc_expand::expand::AstFragment::visit_with
    11: rustc_resolve::macros::<impl rustc_expand::base::ResolverExpand for rustc_resolve::Resolver>::visit_ast_fragment_with_placeholders
    12: rustc_expand::expand::MacroExpander::collect_invocations
    13: rustc_expand::expand::MacroExpander::fully_expand_fragment
    14: rustc_expand::expand::MacroExpander::expand_crate
    15: rustc_session::utils::<impl rustc_session::session::Session>::time
    16: rustc_interface::passes::configure_and_expand
    17: rustc_interface::queries::Queries::expansion
    18: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
    19: rustc_span::with_source_map
    20: scoped_tls::ScopedKey<T>::set
  note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

  error: internal compiler error: unexpected panic

  note: the compiler unexpectedly panicked. this is a bug.

  note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

  note: rustc 1.57.0-nightly (aa8f2d432 2021-09-18) running on aarch64-apple-darwin

  note: compiler flags: -C embed-bitcode=no -C split-debuginfo=unpacked -C debuginfo=2 -C incremental --crate-type bin

  note: some of the compiler flags provided by cargo are hidden

  query stack during panic:
  end of query stack
  error: could not compile `wasm-test`
  ------------------------------------------------------------

Note that (as shown below) I have the wasm target installed for both the stable and the nightly toolchain, which cargo claims is not the case.

Meta

<!-- If you're using the stable version of the compiler, you should also check if the bug also exists in the beta or nightly versions. -->

$ rustup show
Default host: aarch64-apple-darwin
rustup home:  /Users/tf/.rustup

installed toolchains
--------------------

stable-aarch64-apple-darwin (default)
stable-x86_64-apple-darwin
nightly-aarch64-apple-darwin

installed targets for active toolchain
--------------------------------------

aarch64-apple-darwin
wasm32-unknown-unknown

active toolchain
----------------

stable-aarch64-apple-darwin (default)
rustc 1.55.0 (c8dfcfe04 2021-09-06)

$ rustup +nightly show
# ---- skipped ----

installed targets for active toolchain
--------------------------------------

aarch64-apple-darwin
wasm32-unknown-unknown

active toolchain
----------------

nightly-aarch64-apple-darwin (overridden by +toolchain on the command line)
rustc 1.57.0-nightly (aa8f2d432 2021-09-18)

Error output

See above.

<!-- Include a backtrace in the code block by setting RUST_BACKTRACE=1 in your environment. E.g. RUST_BACKTRACE=1 cargo build. --> <details><summary><strong>Backtrace</strong></summary> <p>

     Compiling wasm-test v1.0.0 (/var/folders/bq/bjccsvc10617dsh30gbv9mm00000gn/T/.tmpTljFvc)
  thread 'rustc' panicked at 'called `Result::unwrap()` on an `Err` value: "Provided allocation has wrong size for slot count 131072"', compiler/rustc_metadata/src/rmeta/decoder.rs:263:29
  stack backtrace:
     0: _rust_begin_unwind
     1: core::panicking::panic_fmt
     2: core::result::unwrap_failed
     3: rustc_metadata::rmeta::decoder::CrateMetadata::new
     4: rustc_metadata::creader::CrateLoader::maybe_resolve_crate
     5: rustc_metadata::creader::CrateLoader::maybe_resolve_crate
     6: rustc_metadata::creader::CrateLoader::process_extern_crate
     7: <rustc_resolve::build_reduced_graph::BuildReducedGraphVisitor as rustc_ast::visit::Visitor>::visit_item
     8: rustc_ast::visit::walk_item
     9: <rustc_resolve::build_reduced_graph::BuildReducedGraphVisitor as rustc_ast::visit::Visitor>::visit_item
    10: rustc_expand::expand::AstFragment::visit_with
    11: rustc_resolve::macros::<impl rustc_expand::base::ResolverExpand for rustc_resolve::Resolver>::visit_ast_fragment_with_placeholders
    12: rustc_expand::expand::MacroExpander::collect_invocations
    13: rustc_expand::expand::MacroExpander::fully_expand_fragment
    14: rustc_expand::expand::MacroExpander::expand_crate
    15: rustc_session::utils::<impl rustc_session::session::Session>::time
    16: rustc_interface::passes::configure_and_expand
    17: rustc_interface::queries::Queries::expansion
    18: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
    19: rustc_span::with_source_map
    20: scoped_tls::ScopedKey<T>::set

</p> </details>

closed time in 4 days

tifrel

issue commentrust-lang/rust

ICE WASM toolchain not installed. But it is installed

This is a duplicate of https://github.com/rust-lang/rust/issues/89085 - a recent incremental compilation change appears to have broken the host compiler for aarch64-apple-darwin `

tifrel

comment created time in 4 days

pull request commentrust-lang/rust

Use larger span for adjustment THIR expressions

Note that we don't currently explain that an autoderef/autoborrow was the cause of the borrow that resulted in an error. Doing so would require tracking additional information about THIR expressions / MIR statements, since we can't otherwise distinguish between a user-written &mut_var, and an adjustment-generated autoref.

However, I don't think this change makes the situation any more confusing. Previously, a user might be lead to incorrectly ask "Why does writing my_var trigger a mutable reference". With this change, they will hopefully instead by lead to ask "Why does writing my_var.some_method() trigger a mutable reference", which is the right question to be asking.

Aaron1011

comment created time in 4 days

pull request commentrust-lang/rust

Use larger span for adjustment THIR expressions

r? @estebank

Aaron1011

comment created time in 4 days

PR opened rust-lang/rust

Use larger span for adjustment THIR expressions

Currently, we use a relatively 'small' span for THIR expressions generated by an 'adjustment' (e.g. an autoderef, autoborrow, unsizing). As a result, if a borrow generated by an adustment ends up causing a borrowcheck error, for example:

let mut my_var = String::new();
let my_ref = &my_var
my_var.push('a');
my_ref;

then the span for the mutable borrow may end up referring to only the base expression (e.g. my_var), rather than the method call which triggered the mutable borrow (e.g. my_var.push('a'))

Due to a quirk of the MIR borrowck implementation, this doesn't always get exposed in migration mode, but it does in many cases.

This commit makes THIR building consistently use 'larger' spans for adjustment expressions. These spans are recoded when we first create the adjustment during typecheck. For example, an autoref adjustment triggered by a method call will record the span of the entire method call.

The intent of this change it make it clearer to users when it's the specific way in which a variable is used (for example, in a method call) that produdes a borrowcheck error. For example, an error message claiming that a 'mutable borrow occurs here' might be confusing if it just points at a usage of a variable (e.g. my_var), when no &mut is in sight. Pointing at the entire expression should help to emphasize that the method call itself is responsible for the mutable borrow.

In several cases, this makes the #![feature(nll)] diagnostic output match up exactly with the default (migration mode) output. As a result, several .nll.stderr files end up getting removed entirely.

+640 -710

0 comment

222 changed files

pr created time in 4 days

create barnchAaron1011/rust

branch : adjustment-span

created branch time in 4 days

issue commentrust-lang/rust

Run hello world error on m1 mbp(macOS 12.0 (21A5506j))

cc @michaelwoerister

xunfeng1980

comment created time in 5 days

issue commentrust-lang/rust

Run hello world error on m1 mbp(macOS 12.0 (21A5506j))

This error comes from the ODHT crate: https://github.com/rust-lang/odht/blob/b58e329081c91d0636a35f3af2cc2bffaf84038c/src/memory_layout.rs#L64-L69

xunfeng1980

comment created time in 5 days

PullRequestReviewEvent

Pull request review commentrust-lang/rust

Add new tier 3 target: `x86_64-unknown-none-elf`

+// Generic AArch64 target for bare-metal code - Floating point disabled
// Generic X86 target for bare-metal code - Floating point disabled
mikeleany

comment created time in 5 days

issue commentrust-lang/rust

Fingerprint error with predicates_of

Also, I think this should be fixed in the latest nightly.

tonyfinn

comment created time in 6 days

issue commentrust-lang/rust

Fingerprint error with predicates_of

@tonyfinn Do you remember the exact tarpaulin command that you ran?

tonyfinn

comment created time in 6 days

issue commentrust-lang/rust

Unstable fingerprints tracking issue

@rubdos: Opening a new issue would be great, thanks.

Mark-Simulacrum

comment created time in 6 days