profile
viewpoint

Aaron1011/actix 0

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

Aaron1011/ammonia 0

An HTML sanitizer

Aaron1011/amy 0

Rust wrapper around epoll and kqueue

Aaron1011/android-sdk-installer 0

Linux utility which aims to automatically install and configures Android SDK, Eclipse ADT Plugin, adds hardware support for devices and enables full MTP support.

pull request commentrust-lang/rfcs

Introduce '$self' macro metavar for hygienic macro items

I agree, and I'd be happy to amend the RFC to give $crate paths visibility to crate-level items if it helps the RFC process.

Would that become the default behavior of $crate paths? If so, that seems like a potentialy Semver hazard. If a crate exposes a macro that does something like $crate::$name with a caller-provided $name, downstream crates will be able to access private items.

SergioBenitez

comment created time in 6 hours

pull request commentrust-lang/rust

perf: Only process changed obligations in ObligationForest

@bors try @rust-timer queue

Marwes

comment created time in 10 hours

pull request commentrust-lang/rust

[WIP] Remove fake IDs in rustdoc

@jyn514: param_env_def_id represents the item we are creating a synthetic impl for, and used to obtain the corresponding ParamEnv.

jyn514

comment created time in 11 hours

PR opened rust-lang/chalk

[WIP] Generators
+538 -33

0 comment

24 changed files

pr created time in 16 hours

create barnchAaron1011/chalk

branch : feature/generators

created branch time in 16 hours

PR opened rust-lang/rust

Use existing `infcx` when emitting trait impl diagnostic

Fixes #75361 Fixes #74918

Previously, we were creating a new InferCtxt, which caused an ICE when used with type variables from the existing InferCtxt

+104 -5

0 comment

5 changed files

pr created time in 19 hours

create barnchAaron1011/rust

branch : fix/diag-infcx

created branch time in 19 hours

issue commentrust-lang/rust

Failed to compile a graph test

Bisected to rollup https://github.com/rust-lang/rust/commit/0e9e4083100aa3ebf09b8f1ace0348cb37475eb9 - it looks like this was caused by https://github.com/rust-lang/rust/pull/67460

Deuchier

comment created time in 20 hours

issue commentrust-lang/rust

Failed to compile a graph test

Minimized:

trait MyTrait {
    type Item;
}

pub trait Graph {
  type EdgeType;

  fn adjacent_edges(&self) -> Box<dyn MyTrait<Item = &Self::EdgeType>>;
}

impl<T> Graph for T {
  type EdgeType = T;

  fn adjacent_edges(&self) -> Box<dyn MyTrait<Item = &Self::EdgeType> + '_> {}
}
Deuchier

comment created time in 20 hours

pull request commentrust-lang/rust

[WIP] Remove fake IDs in rustdoc

@jyn514: Fake DefIds exist to handle 'synthetic' auto trait impls, which don't have a real DefId.

jyn514

comment created time in a day

PR opened rust-lang/rust

Remove normalization of `Span` debug output in proc-macro tests

Fixes #74800

The definition of is_x86_feature_detected! (and similar macros) depends on the platform - it is produced by a cfg_if! invocation on x86, and a plain #[cfg] on other platforms. Since it is part of the prelude, we will end up importing different hygiene information depending on the platform. This previously required us to avoid printing raw SyntaxContext ids in any tests that uses the standard library, since the captured output will be platform-dependent.

Previously, we replaced all SyntaxContext ids with "#CTXT", and the raw Span lo/hi bytes with "LO..HI".

This commit adds #![no_std] and extern crate std to all proc-macro tests that print spans. This suppresses the prelude import, while still using lang items from std (which gives us a buildable binary). With this apporach, we will only load hygiene information for things which we explicitly import. This lets us re-add -Z unpretty=expanded,hygiene, since its output can now be made stable across all platforms.

Additionally, we use -Z span-debug in more places, which lets us avoid the "LO..HI" normalization hack.

+233 -163

0 comment

18 changed files

pr created time in 2 days

create barnchAaron1011/rust

branch : fix/no-std-hygiene

created branch time in 2 days

issue openedrust-lang/rust

Investigate speeding up `x86_64-apple` jobs

Looking at some most recent builds, it looks like the x86_64-apple family of jobs are usually the last to finish, and take significantly longer (over an hour) than certain other jobs. Speeding up these jobs could give us a nice win in build times.

I don't know how much of the build time is under our control (e.g. running more work on these jobs vs other jobs), and how much is related to the Github Actions OS X builders being slower.

created time in 2 days

pull request commentrust-lang/rust

perf: Only process changed obligations in ObligationForest

@bors try @rust-timer queue

Marwes

comment created time in 2 days

issue openedrust-lang/rust

Spurious 'type annotations needed' error when a struct definition has an error

The following code:

struct Foo {
    val: MissingType
}

fn make_it() {
    Foo { val: Default::default() };
}

produces the following errors:

error[E0412]: cannot find type `MissingType` in this scope
 --> src/lib.rs:2:10
  |
2 |     val: MissingType
  |          ^^^^^^^^^^^ not found in this scope

error[E0283]: type annotations needed
 --> src/lib.rs:6:16
  |
6 |     Foo { val: Default::default() };
  |                ^^^^^^^^^^^^^^^^ cannot infer type
  |
  = note: cannot satisfy `_: std::default::Default`
  = note: required by `std::default::Default::default`

We should suppress the 'type annotations needed' message, since it will likely be resolved by fixing the type of val.

created time in 2 days

push eventAaron1011/rust

Aaron Hill

commit sha ef49032297b90e7010b08db04d569dd8a5f0a8f2

Add comment about the lack of `ExpnData` serialization for proc-macro crates

view details

push time in 2 days

Pull request review commentrust-lang/rust

Don't serialize ExpnData for foreign crates

 pub fn raw_encode_expn_id<E: Encoder>(     mode: ExpnDataEncodeMode,     e: &mut E, ) -> Result<(), E::Error> {-    if !context.serialized_expns.lock().contains(&expn) {-        context.latest_expns.lock().insert(expn);-    }+    // Record the fact that we need to serialize the corresponding+    // `ExpnData`+    let needs_data = || {+        if !context.serialized_expns.lock().contains(&expn) {+            context.latest_expns.lock().insert(expn);+        }+    };+     match mode {-        ExpnDataEncodeMode::IncrComp => expn.0.encode(e),+        ExpnDataEncodeMode::IncrComp => {+            // Always serialize the `ExpnData` in incr comp mode+            needs_data();+            expn.0.encode(e)+        }         ExpnDataEncodeMode::Metadata => {             let data = expn.expn_data();+            // We only need to serialize the ExpnData+            // if it comes from this crate.+            if data.krate == LOCAL_CRATE {

We currently serialize all SyntaxContexts as SyntaxContext::root for proc macro crates, since they're not really observable:

https://github.com/rust-lang/rust/blob/8e738539be23a62120059b5b4443f6c235f932b4/src/librustc_metadata/rmeta/encoder.rs#L255-L286

I'll add a comment noting this

Aaron1011

comment created time in 2 days

issue commentrust-lang/rust

Panic when compiling gluon on nightly

It looks like the bound regions are preventing us from normalizing an opaque type, leading us to conclude that the LHS and RHS types are not actually equal.

nukeop

comment created time in 2 days

issue commentrust-lang/rust

Panic in <rustc_mir::monomorphize::item::InstantiationMode as core::fmt::Debug>::fmt

@Ryan1729: That example no longer ICEs on the latest nightly.

kankri

comment created time in 2 days

push eventAaron1011/rust

Aaron Hill

commit sha 0c52521b9577889bba2981812200a9b1c7d3c94f

Rename deref_ty to deref_target_ty

view details

push time in 2 days

Pull request review commentrust-lang/rust

Note when a a move/borrow error is caused by a deref coercion

 pub(super) enum UseSpans { }  #[derive(Copy, Clone, PartialEq, Eq, Debug)]-pub(super) enum FnSelfUseKind {+pub(super) enum FnSelfUseKind<'tcx> {     /// A normal method call of the form `receiver.foo(a, b, c)`-    Normal { self_arg: Ident, implicit_into_iter: bool },+    Normal {+        self_arg: Ident,+        implicit_into_iter: bool,+    },     /// A call to `FnOnce::call_once`, desugared from `my_closure(a, b, c)`     FnOnceCall,     /// A call to an operator trait, desuraged from operator syntax (e.g. `a << b`)-    Operator { self_arg: Ident },+    Operator {+        self_arg: Ident,+    },+    DerefCoercion {+        deref_target: Span,+        deref_ty: Ty<'tcx>,

This is T::Deref, so I'll rename it to deref_target_ty.

Aaron1011

comment created time in 2 days

PR opened rust-lang/rust

Note when a a move/borrow error is caused by a deref coercion

Fixes #73268

When a deref coercion occurs, we may end up with a move error if the base value has been partially moved out of. However, we do not indicate anywhere that a deref coercion is occuring, resulting in an error message with a confusing span.

This PR adds an explicit note to move errors when a deref coercion is involved. We mention the name of the type that the deref-coercion resolved to, as well as the Deref::Target associated type being used.

+252 -50

0 comment

21 changed files

pr created time in 2 days

create barnchAaron1011/rust

branch : feature/diag-deref-move-out

created branch time in 2 days

issue closedrust-lang/rust

False positive 'unnecessary parenthesis' with 'if let':

The following code:

fn main() {
    if let true = (true && false) {}
}

produces the following warning:

warning: unnecessary parentheses around `let` scrutinee expression
 --> src/main.rs:2:19
  |
2 |     if let true = (true && false) {}
  |                   ^^^^^^^^^^^^^^^ help: remove these parentheses
  |
  = note: `#[warn(unused_parens)]` on by default

However, removing the parenthesis results in an error:

   Compiling playground v0.0.1 (/playground)
error[E0658]: `let` expressions in this position are experimental
 --> src/main.rs:2:8
  |
2 |     if let true = true && false {}
  |        ^^^^^^^^^^^^^^^
  |
  = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information
  = help: add `#![feature(let_chains)]` to the crate attributes to enable

error: `let` expressions are not supported here
 --> src/main.rs:2:8
  |
2 |     if let true = true && false {}
  |        ^^^^^^^^^^^^^^^
  |
  = note: only supported directly in conditions of `if`- and `while`-expressions
  = note: as well as when nested within `&&` and parenthesis in those conditions

closed time in 2 days

Aaron1011

issue commentrust-lang/rust

False positive 'unnecessary parenthesis' with 'if let':

Closing as duplicate of https://github.com/rust-lang/rust/issues/60336

Aaron1011

comment created time in 2 days

PR opened rust-lang/rust

Be consistent when describing a move as a 'partial' in diagnostics

When an error occurs due to a partial move, we would use the world "partial" in some parts of the error message, but not in others. This commit ensures that we use the word 'partial' in either all or none of the diagnostic messages.

Additionally, we no longer describe a move out of a Box via * as a 'partial move'. This was a pre-existing issue, but became more noticable when the word 'partial' is used in more places.

+300 -257

0 comment

31 changed files

pr created time in 3 days

create barnchAaron1011/rust

branch : feature/partial-move-diag

created branch time in 3 days

PR closed rust-lang/rust

Use TLS less in rustc_span S-waiting-on-author

Following the approach suggested in https://github.com/rust-lang/rust/issues/59718#issuecomment-488513160, we store rustc_span::Globals in ParseSess. This allows us to avoid TLS lookups during Span/SyntaxContext/ExpnData hashing, since we can get access to ParseSess via HashStableContext

+25 -6

23 comments

4 changed files

Aaron1011

pr closed time in 3 days

pull request commentrust-lang/rust

Use TLS less in rustc_span

Closing this, as the basic premise (accessing SessionGlobals via a Session instead of TLS) doesn't seem to be true.

Aaron1011

comment created time in 3 days

issue openedrust-lang/rust

False positive 'unnecessary parenthesis' with 'if let':

The following code:

fn main() {
    if let true = (true && false) {}
}

produces the following warning:

warning: unnecessary parentheses around `let` scrutinee expression
 --> src/main.rs:2:19
  |
2 |     if let true = (true && false) {}
  |                   ^^^^^^^^^^^^^^^ help: remove these parentheses
  |
  = note: `#[warn(unused_parens)]` on by default

However, removing the parenthesis results in an error:

   Compiling playground v0.0.1 (/playground)
error[E0658]: `let` expressions in this position are experimental
 --> src/main.rs:2:8
  |
2 |     if let true = true && false {}
  |        ^^^^^^^^^^^^^^^
  |
  = note: see issue #53667 <https://github.com/rust-lang/rust/issues/53667> for more information
  = help: add `#![feature(let_chains)]` to the crate attributes to enable

error: `let` expressions are not supported here
 --> src/main.rs:2:8
  |
2 |     if let true = true && false {}
  |        ^^^^^^^^^^^^^^^
  |
  = note: only supported directly in conditions of `if`- and `while`-expressions
  = note: as well as when nested within `&&` and parenthesis in those conditions

created time in 3 days

pull request commentrust-lang/rust

Use TLS less in rustc_span

@bors try @rust-timer queue

Aaron1011

comment created time in 3 days

push eventAaron1011/rust

Manish Goregaokar

commit sha 18e8089303952034ccf8a9e993770022eaf6dd53

Rollup merge of #74449 - tmiasko:cmpxchg-test, r=nikomatsakis Test codegen of compare_exchange operations Add a codegen test for compare_exchange to verify that rustc emits expected LLVM IR.

view details

Manish Goregaokar

commit sha 959774413a29efd20010947c6d4265aa93049dce

Rollup merge of #74450 - aticu:master, r=jonas-schievink Fix `Safety` docs for `from_raw_parts_mut` This aligns the wording more with the documentation of e.g. `drop_in_place`, `replace`, `swap` and `swap_nonoverlapping` from `core::ptr`. Also if the pointer were really only valid for writes, it would be trivial to introduce UB from safe code, after calling `core::slice::from_raw_parts_mut`.

view details

Manish Goregaokar

commit sha 0d669a97e3c3c8ed0cdb0de980080115e894165e

Rollup merge of #74453 - Manishearth:intra-doc-std, r=jyn514 Use intra-doc links in `str` and `BTreeSet` Fixes #32129, fixes #32130 A _slight_ degradation in quality is that the `#method.foo` links would previously link to the same page on `String`'s documentation, and now they will navigate to `str`. Not a big deal IMO, and we can also try to improve that.

view details

Manish Goregaokar

commit sha 5f76240354af9e8a2dfffbb4205e686d0e5ef081

Rollup merge of #74457 - Keruspe:install, r=Mark-Simulacrum rustbuild: drop tool::should_install Always install when the build succeeds Fixes #74431

view details

Manish Goregaokar

commit sha cae9c503b0d6de9702ca99bda95c081b1eb530f5

Rollup merge of #74464 - FedericoPonzi:fix-#67108, r=Manishearth Use pathdiff crate I wanted to tackle a simple issue, and stumbled upon #67108: this pr removes the function which was exported to the external crate as required in the todo/issue. I've tested it with: ``` ./x.py build --stage 1 --keep-stage 1 src/librustc_codegen_ssa ``` And it looks like it's compiling

view details

Yuki Okushi

commit sha a11024f4f312a49db84d816bf43c7c55d8a21074

Fix debug assertion in typeck

view details

Dan Aloni

commit sha 28e27566782e5f2636b9c93a172c19024630233d

librustc_typeck: use diag item instead of string compare

view details

Vadim Petrochenkov

commit sha de03a12675fe923a02589ce05afec8682194bfef

rustc_metadata: Remove a bit of ancient profiling

view details

Vadim Petrochenkov

commit sha 926ac5a2fd6cd4a0994b0c7cff5a43040c9c0e4c

rustc_metadata: Remove some extra diagnostics for legacy plugins They are deprecated so doing extra work for error recovery doesn't make sense

view details

Vadim Petrochenkov

commit sha 4044cbc559be2c00a4718a086c3443d429032446

rustc_metadata: Refactor away `CrateLocator::(dy,static)libname`

view details

Vadim Petrochenkov

commit sha 0a4217d09f41d64f8be076c26d16d3474ca66c03

rustc_metadata: Make crate loading fully speculative

view details

Dan Aloni

commit sha d077767ee72221f2a436692ef85115381671a765

Update src/librustc_typeck/check/op.rs Co-authored-by: Bastian Kauschke <bastian_kauschke@hotmail.de>

view details

bors

commit sha 7d31ffc1ac9e9ea356e896e63307168a64501b9d

Auto merge of #74468 - Manishearth:rollup-5nhvz80, r=Manishearth Rollup of 11 pull requests Successful merges: - #72414 ( Add lazy initialization primitives to std) - #74069 (Compare tagged/niche-filling layout and pick the best one) - #74418 (ci: Set `shell: bash` as a default, remove duplicates) - #74441 (bootstrap.py: patch RPATH on NixOS to handle the new zlib dependency.) - #74444 (Add regression test for #69414) - #74448 (improper_ctypes_definitions: allow `Box`) - #74449 (Test codegen of compare_exchange operations) - #74450 (Fix `Safety` docs for `from_raw_parts_mut`) - #74453 (Use intra-doc links in `str` and `BTreeSet`) - #74457 (rustbuild: drop tool::should_install) - #74464 (Use pathdiff crate) Failed merges: r? @ghost

view details

flip1995

commit sha 0f501ac1db5152fac4712e0357fc498aed6f7313

Merge remote-tracking branch 'upstream/master' into rustup

view details

bors

commit sha 799eef691969c2f6ecf33359f0b1e1691a060648

Auto merge of #5818 - flip1995:rustup, r=flip1995 Rename TypeckTables to TypeckResults. r? @ghost changelog: none

view details

bors

commit sha 8cf4219c1673533eb5caf304237bffaa8e847067

Auto merge of #5815 - JarredAllen:redundant_pattern_bugfix, r=flip1995 Redundant pattern bugfix changelog: Fixes the bug reported #5766

view details

Jonas Schievink

commit sha 09240a4b4b92f8e4a7f662e052ef1ddffa2eeaac

Revert "Use an UTF-8 locale for the linker."

view details

bors

commit sha 1fa54ad9680cc82e7301f8ed4e9b7402dfd6ce0e

Auto merge of #73441 - alexcrichton:backtrace-gimli, r=Mark-Simulacrum std: Switch from libbacktrace to gimli This commit is a proof-of-concept for switching the standard library's backtrace symbolication mechanism on most platforms from libbacktrace to gimli. The standard library's support for `RUST_BACKTRACE=1` requires in-process parsing of object files and DWARF debug information to interpret it and print the filename/line number of stack frames as part of a backtrace. Historically this support in the standard library has come from a library called "libbacktrace". The libbacktrace library seems to have been extracted from gcc at some point and is written in C. We've had a lot of issues with libbacktrace over time, unfortunately, though. The library does not appear to be actively maintained since we've had patches sit for months-to-years without comments. We have discovered a good number of soundness issues with the library itself, both when parsing valid DWARF as well as invalid DWARF. This is enough of an issue that the libs team has previously decided that we cannot feed untrusted inputs to libbacktrace. This also doesn't take into account the portability of libbacktrace which has been difficult to manage and maintain over time. While possible there are lots of exceptions and it's the main C dependency of the standard library right now. For years it's been the desire to switch over to a Rust-based solution for symbolicating backtraces. It's been assumed that we'll be using the Gimli family of crates for this purpose, which are targeted at safely and efficiently parsing DWARF debug information. I've been working recently to shore up the Gimli support in the `backtrace` crate. As of a few weeks ago the `backtrace` crate, by default, uses Gimli when loaded from crates.io. This transition has gone well enough that I figured it was time to start talking seriously about this change to the standard library. This commit is a preview of what's probably the best way to integrate the `backtrace` crate into the standard library with the Gimli feature turned on. While today it's used as a crates.io dependency, this commit switches the `backtrace` crate to a submodule of this repository which will need to be updated manually. This is not done lightly, but is thought to be the best solution. The primary reason for this is that the `backtrace` crate needs to do some pretty nontrivial filesystem interactions to locate debug information. Working without `std::fs` is not an option, and while it might be possible to do some sort of trait-based solution when prototyped it was found to be too unergonomic. Using a submodule allows the `backtrace` crate to build as a submodule of the `std` crate itself, enabling it to use `std::fs` and such. Otherwise this adds new dependencies to the standard library. This step requires extra attention because this means that these crates are now going to be included with all Rust programs by default. It's important to note, however, that we're already shipping libbacktrace with all Rust programs by default and it has a bunch of C code implementing all of this internally anyway, so we're basically already switching already-shipping functionality to Rust from C. * `object` - this crate is used to parse object file headers and contents. Very low-level support is used from this crate and almost all of it is disabled. Largely we're just using struct definitions as well as convenience methods internally to read bytes and such. * `addr2line` - this is the main meat of the implementation for symbolication. This crate depends on `gimli` for DWARF parsing and then provides interfaces needed by the `backtrace` crate to turn an address into a filename / line number. This crate is actually pretty small (fits in a single file almost!) and mirrors most of what `dwarf.c` does for libbacktrace. * `miniz_oxide` - the libbacktrace crate transparently handles compressed debug information which is compressed with zlib. This crate is used to decompress compressed debug sections. * `gimli` - not actually used directly, but a dependency of `addr2line`. * `adler32`- not used directly either, but a dependency of `miniz_oxide`. The goal of this change is to improve the safety of backtrace symbolication in the standard library, especially in the face of possibly malformed DWARF debug information. Even to this day we're still seeing segfaults in libbacktrace which could possibly become security vulnerabilities. This change should almost entirely eliminate this possibility whilc also paving the way forward to adding more features like split debug information. Some references for those interested are: * Original addition of libbacktrace - #12602 * OOM with libbacktrace - #24231 * Backtrace failure due to use of uninitialized value - #28447 * Possibility to feed untrusted data to libbacktrace - #21889 * Soundness fix for libbacktrace - #33729 * Crash in libbacktrace - #39468 * Support for macOS, never merged - ianlancetaylor/libbacktrace#2 * Performance issues with libbacktrace - #29293, #37477 * Update procedure is quite complicated due to how many patches we need to carry - #50955 * Libbacktrace doesn't work on MinGW with dynamic libs - #71060 * Segfault in libbacktrace on macOS - #71397 Switching to Rust will not make us immune to all of these issues. The crashes are expected to go away, but correctness and performance may still have bugs arise. The gimli and `backtrace` crates, however, are actively maintained unlike libbacktrace, so this should enable us to at least efficiently apply fixes as situations come up. --- I want to note that my purpose for creating a PR here is to start a conversation about this. I think that all the various pieces are in place that this is compelling enough that I think this transition should be talked about seriously. There are a number of items which still need to be addressed before actually merging this PR, however: * [ ] `gimli` needs to be published to crates.io * [ ] `addr2line` needs a publish * [ ] `miniz_oxide` needs a publish * [ ] Tests probably shouldn't recommend the `gimli` crate's traits for implementing * [ ] The `backtrace` crate's branch changes need to be merged to the master branch (https://github.com/rust-lang/backtrace-rs/pull/349) * [ ] The support for `libbacktrace` on some platforms needs to be audited to see if we should support more strategies in the gimli implementation - https://github.com/rust-lang/backtrace-rs/issues/325, https://github.com/rust-lang/backtrace-rs/issues/326, https://github.com/rust-lang/backtrace-rs/issues/350, https://github.com/rust-lang/backtrace-rs/issues/351 Most of the merging/publishing I'm not actively pushing on right now. It's a bit wonky for crates to support libstd so I'm holding off on pulling the trigger everywhere until there's a bit more discussion about how to go through with this. Namely https://github.com/rust-lang/backtrace-rs/pull/349 I'm going to hold off merging until we decide to go through with the submodule strategy. In any case this is a pretty major change, so I suspect that the compiler team is likely going to be interested in this. I don't mean to force changes by dumping a bunch of code by any means. Integration of external crates into the standard library is so difficult I wanted to have a proof-of-concept to review while talking about whether to do this at all (hence the PR), but I'm more than happy to follow any processes needed to merge this. I must admit though that I'm not entirely sure myself at this time what the process would be to decide to merge this, so I'm hoping others can help me figure that out!

view details

Manish Goregaokar

commit sha a594603f50940624e3da3392e1349a53bd64f4db

More links in std::str

view details

Bastian Kauschke

commit sha e8d16fdf9f95e4110df53650779be842b6749f60

add note to `opt_const_param_of`

view details

push time in 3 days

pull request commentrust-lang/rust

Lazy decoding of DefPathTable from crate metadata

@petrochenkov: This is now ready for review.

Aaron1011

comment created time in 4 days

push eventAaron1011/rust

Andy Russell

commit sha af88ce5eb34b0ecdfd2f8dfcc837c353688d6c75

allow aux builds in rustdoc-ui mode

view details

Andy Russell

commit sha 608807934d41168cb30c6eee6442fe29251e40f0

use outermost invocation span for doctest names Fixes #70090.

view details

Yuki Okushi

commit sha 788261d2d30c92c7423a68088aaee32ce44f9520

Add regression test for issue-59311

view details

Ximin Luo

commit sha 7f54cf26511b2716d35e2f2198bbff9da5a33123

compiletest: ignore-endian-big, fixes #74829, fixes #74885

view details

Joshua Nelson

commit sha 8e0e925e2bd45806f88195a94e59246e2e5b6d5e

Disallow linking to items with a mismatched disambiguator

view details

Joshua Nelson

commit sha 519c85439a39d85d0c4b08ff8622cad5bd707ada

Don't mark associated items as traits This caused the following false positive: ``` warning: unresolved link to `Default::default` --> /home/joshua/rustc2/default.rs:1:14 | 1 | /// Link to [Default::default()] | ^^^^^^^^^^^^^^^^^^ | = note: `#[warn(broken_intra_doc_links)]` on by default note: this item resolved to a trait, which did not match the disambiguator 'fn' --> /home/joshua/rustc2/default.rs:1:14 | 1 | /// Link to [Default::default()] | ^^^^^^^^^^^^^^^^^^ ```

view details

Joshua Nelson

commit sha 743f9327428801932bd70688b5c83f38bf61615a

Keep the previous behavior of `register_res` Now that we're returning the `Res` of the associated item, not the trait itself, it got confused.

view details

oliver-giersch

commit sha 6c81556a36ac5507fe1f9cd8ee699e6fa2b11077

adds [*mut|*const] ptr::set_ptr_value

view details

Joshua Nelson

commit sha 99354f552df332c669d6e621e68dda403ea135fd

item -> link

view details

Tomasz Miąsko

commit sha 427634b5037ba1c00b72b70b561ff20767ea97e2

Avoid `unwrap_or_else` in str indexing This provides a small reduction of generated LLVM IR, and leads to a simpler assembly code.

view details

Lzu Tao

commit sha 30a1455c8da95ca3f4f8fb33edfa556678e3ac58

Use u32::from_ne_bytes to fix a FIXME Co-authored-by: Weiyi Wang <wwylele@gmail.com> Co-authored-by: Adam Reichold <adam.reichold@t-online.de> Co-authored-by: Josh Stone <cuviper@gmail.com> Co-authored-by: Scott McMurray <scottmcm@users.noreply.github.com> Co-authored-by: tmiasko <tomasz.miasko@gmail.com>

view details

Joshua Nelson

commit sha 444f5a0556fc5779663e69ff1a3d5a7362ba9618

Give a much better error message if the struct failed to resolve

view details

Joshua Nelson

commit sha fc273a035dfb352fd90246dd2560c807701eeea7

Unresolved link -> incompatible link kind Clearly it has been resolved, because we say on the next line what it resolved to.

view details

Lzu Tao

commit sha 725d37cae0a175edb0c013b3de5b337ce5b5054d

Make doctests of Ipv4Addr::from(u32) easier to read

view details

Lzu Tao

commit sha d9f260e95efcb3ada02d1cd85d304438de8af294

Remove unused FromInner impl for Ipv4Addr

view details

Waffle Lapkin

commit sha 188ef3a200c6d39aa343da4d556d8354424f2314

Fix typo in `librustc_feature/active.rs`

view details

Aaron Hill

commit sha 0d8260ee48d19291ad99f1228a638e75a5453379

Label rustfmt toolstate issues with A-rustfmt This makes it easier to filter toolstate issues by the tool involved.

view details

Aaron Hill

commit sha 48bc3982079685763a5bde07b7e4efb94ce622e0

Handle fieldless tuple structs in diagnostic code Fixes #75062

view details

Guillaume Gomez

commit sha cd4633917d4dd446f9f37efbf750bbd4ed2b46d6

Clean up E0746 explanation

view details

Yuki Okushi

commit sha cc36c3d140b82757c5ffe94c71232d2f32fcf2a4

Add a FIXME comment

view details

push time in 4 days

push eventAaron1011/rust

Aaron Hill

commit sha c34c77c764491460449a6bef06b2149c3ab82f2d

Apply `extern "C"` calling convention Co-authored-by: Amanieu d'Antras <amanieu@gmail.com>

view details

push time in 4 days

pull request commentrust-lang/rust

Don't call a function in function-arguments-naked.rs

@Amanieu: I've added a ret instruction, and make the testx86_64 only.

Aaron1011

comment created time in 4 days

push eventAaron1011/rust

Aaron Hill

commit sha 91dda2c24ef245939c4ef0248380aa05583e3e30

Only test function-arguments-naked.rs on x86_64 We need to use inline assembly, which is inherently platform-specific.

view details

push time in 4 days

pull request commentrust-lang/rust

Don't call a function in function-arguments-naked.rs

r? @Amanieu

Aaron1011

comment created time in 4 days

Pull request review commentrust-lang/rfcs

Introduce '$self' macro metavar for hygienic macro items

+- Feature Name: `self_macro_metavar`+- Start Date: 2020-08-03+- RFC PR: [rust-lang/rfcs#0000](https://github.com/rust-lang/rfcs/pull/0000)+- Rust Issue: [rust-lang/rust#0000](https://github.com/rust-lang/rust/issues/0000)++# Summary+[summary]: #summary++Introduce the `$self` macro metavariable, a companion to `$crate`, that allows+macros hygienic access to items.++# Motivation+[motivation]: #motivation++It is presently impossible to define macros with identifiers that resolve at the+macro's definition site upon expansion. This shortcoming is well-acknowledged+and well-known, and, while [declarative macros 2.0] aimed to resolve this issue,+its implementation and subsequent stabilization sit in limbo.++As an example of a macro that's presently impossible to write, consider the+following, where `PRIVATE` is expected to resolve to `submod::PRIVATE`+regardless of where `m` is expanded:++```rust+mod submod {+    static PRIVATE: &'static str = "PRIVATE_SUBMOD";++    #[macro_export]+    macro_rules! m {+        () => (println!("{}", PRIVATE))+    }++    pub use m;+}++pub fn main() {+    submod::m!(); // error[E0425]: cannot find value `PRIVATE` in this scope+}+```++As illustrated, the call to the `m!()` errors as "`PRIVATE` is not in-scope".+Specifically, the call to `m!()` expands to `println!("{}, PRIVATE);`, where+`PRIVATE` resolves as if it were an `item` identifier. This implies that the+following _does_ compile, printing `Hi!` when run, perhaps unexpectedly:++```rust+fn main() {+    submod::m!();+    static PRIVATE: &'static str = "Hi!";+}+```++Today, no combination of `macro_rules!()` or `proc_macro` invocations embedded+within allows for declaring an `m` that expands such that `PRIVATE` in the+expansion resolves to `submod::PRIVATE`. Even the following example, which+mimics what is possible with identifiers today, fails:++```rust+mod submod {+    static PRIVATE: &'static str = "PRIVATE_SUBMOD";++    macro_rules! make_local {+        ($local:expr) => (+            #[macro_export]+            macro_rules! m {+                () => (println!("{}", $local))+            }++            pub use m;+        )+    }++    make_local!(PRIVATE);+}++pub fn main() {+    submod::m!(); // error[E0425]: cannot find value `PRIVATE` in this scope+}+```++`$self` resolves this deficiency. With `$self`, `m` could be declared as:++```rust+mod submod {+    static PRIVATE: &'static str = "PRIVATE_SUBMOD";++    #[macro_export]+    macro_rules! m {+        () => (println!("{}", $self::PRIVATE))+    }++    pub use m;+}++pub fn main() {+    submod::m!(); // `PRIVATE` unconditionally resolves to `submod::PRIVATE`+}+```++On expansion of `m`, `PRIVATE` unambiguously and unconditionally resolves as if+it were at the definition site, that is, to `submod::PRIVATE`.++[declarative macros 2.0]: https://github.com/rust-lang/rust/issues/39412 ++# Guide-level explanation+[guide-level-explanation]: #guide-level-explanation++The `$self` macro metavariable, like the `$crate` metavariable, can be used to+modify the hygeine of identifiers in a macro. `$self` works a lot like the+`self` in module paths: when used at the start of a path in a macro, the+succeeding path will be resolved as if it were in the module where the macro is+defined, regardless of where the macro is expanded. Different from `self` in+module paths, however, `$self` _also_ captures the visibility of the module path+at the definition site: the succeeding path will be visible in the expansion if+it is visible at the macro's definition site.++Said differently, `$self` _captures_ the module scope at the macro definition+site and applies it to the succeeding path upon expansion. As an example,+consider the definition of the macro `submod::m!`:++```rust+mod submod {+    static PRIVATE: &'static str = "PRIVATE_SUBMOD";++    #[macro_export]+    macro_rules! m {+        () => (println!("{}", $self::PRIVATE))+    }+}++pub fn main() {+    submod::m!(); // `PRIVATE` unconditionally resolves to `submod::PRIVATE`+}+```++Without `$self`, it would not be possible to reference `submod::PRIVATE` outside+of `submod`. Observe, too, that unlike `$crate`, `$self` _does_ have an effect+on visibility: while `submod::PRIVATE` in `main` would _not_ resolve, the+expansion including `$self::PRIVATE` does!++# Reference-level explanation+[reference-level-explanation]: #reference-level-explanation++At its core, `$self` is `$crate` at the module-level as opposed to the crate+level. Macro metavariable naming collisions are handled in the same way as with+`$crate`. In particular, a declaration of `$self` in a macro shadows the `$self`+described here. The following works as expected, and importantly, as it does+today:++```rust+macro_rules! m {+    ($self:ident) => (println!("{}", $self))+}+```++Additionally, like `$crate`, a non-user-declared `$self` _must_ be followed by+`::`.++Notably different is that while `$crate` can be implemented as a purely+syntactic transformation, substituting `$crate` for the name of the crate in+which the macro is defined, `$self` must apply the full resolution context of+the macro's definition site to the succeeding path. When calling a macro using+`$self` cross-crate, this requires cross-crate hygiene. Thankfully, this was+recently added to the compiler in https://github.com/rust-lang/rust/pull/72121.++Thus, `$self` can be simply and without further caveats by specified as: for+every path in the expansion that begins with `$self`, the resolution context of+the path is set to resolution context of the `Span::source()` of `$self`.

Sorry for being unclear - I meant that the $self path should be resolved as if it was produced by a proc-macro with Span::def_site() (after the parent module path has been substituted).

SergioBenitez

comment created time in 4 days

pull request commentrust-lang/rfcs

Introduce '$self' macro metavar for hygienic macro items

@Aaron1011 If this make sense, I can update the RFC text accordingly.

That makes sense to me - the quote! examples would produce $ self, which would then be parsed to a single $self ident when the macro_rules! macro gets defined.

SergioBenitez

comment created time in 4 days

pull request commentrust-lang/rfcs

Introduce '$self' macro metavar for hygienic macro items

What should the behavior of the following code be?

struct Bar;
macro_rules! outer {
    () => {
        #[macro_export]
        macro_rules! inner {
            () => { struct Foo($self::Bar); }
        }
    }
}

mod other_mod {
    outer!();
    inner!();
}

For consistency with $crate, I think this should compile - that is, $self will end up referring to the 'outermost' macro_rules! definition. This is fairly subtle, so I think it's worth explicitly mentioning in the RFC.

SergioBenitez

comment created time in 4 days

Pull request review commentrust-lang/rfcs

Introduce '$self' macro metavar for hygienic macro items

+- Feature Name: `self_macro_metavar`+- Start Date: 2020-08-03+- RFC PR: [rust-lang/rfcs#0000](https://github.com/rust-lang/rfcs/pull/0000)+- Rust Issue: [rust-lang/rust#0000](https://github.com/rust-lang/rust/issues/0000)++# Summary+[summary]: #summary++Introduce the `$self` macro metavariable, a companion to `$crate`, that allows+macros hygienic access to items.++# Motivation+[motivation]: #motivation++It is presently impossible to define macros with identifiers that resolve at the+macro's definition site upon expansion. This shortcoming is well-acknowledged+and well-known, and, while [declarative macros 2.0] aimed to resolve this issue,+its implementation and subsequent stabilization sit in limbo.++As an example of a macro that's presently impossible to write, consider the+following, where `PRIVATE` is expected to resolve to `submod::PRIVATE`+regardless of where `m` is expanded:++```rust+mod submod {+    static PRIVATE: &'static str = "PRIVATE_SUBMOD";++    #[macro_export]+    macro_rules! m {+        () => (println!("{}", PRIVATE))+    }++    pub use m;+}++pub fn main() {+    submod::m!(); // error[E0425]: cannot find value `PRIVATE` in this scope+}+```++As illustrated, the call to the `m!()` errors as "`PRIVATE` is not in-scope".+Specifically, the call to `m!()` expands to `println!("{}, PRIVATE);`, where+`PRIVATE` resolves as if it were an `item` identifier. This implies that the+following _does_ compile, printing `Hi!` when run, perhaps unexpectedly:++```rust+fn main() {+    submod::m!();+    static PRIVATE: &'static str = "Hi!";+}+```++Today, no combination of `macro_rules!()` or `proc_macro` invocations embedded+within allows for declaring an `m` that expands such that `PRIVATE` in the+expansion resolves to `submod::PRIVATE`. Even the following example, which+mimics what is possible with identifiers today, fails:++```rust+mod submod {+    static PRIVATE: &'static str = "PRIVATE_SUBMOD";++    macro_rules! make_local {+        ($local:expr) => (+            #[macro_export]+            macro_rules! m {+                () => (println!("{}", $local))+            }++            pub use m;+        )+    }++    make_local!(PRIVATE);+}++pub fn main() {+    submod::m!(); // error[E0425]: cannot find value `PRIVATE` in this scope+}+```++`$self` resolves this deficiency. With `$self`, `m` could be declared as:++```rust+mod submod {+    static PRIVATE: &'static str = "PRIVATE_SUBMOD";++    #[macro_export]+    macro_rules! m {+        () => (println!("{}", $self::PRIVATE))+    }++    pub use m;+}++pub fn main() {+    submod::m!(); // `PRIVATE` unconditionally resolves to `submod::PRIVATE`+}+```++On expansion of `m`, `PRIVATE` unambiguously and unconditionally resolves as if+it were at the definition site, that is, to `submod::PRIVATE`.++[declarative macros 2.0]: https://github.com/rust-lang/rust/issues/39412 ++# Guide-level explanation+[guide-level-explanation]: #guide-level-explanation++The `$self` macro metavariable, like the `$crate` metavariable, can be used to+modify the hygeine of identifiers in a macro. `$self` works a lot like the+`self` in module paths: when used at the start of a path in a macro, the+succeeding path will be resolved as if it were in the module where the macro is+defined, regardless of where the macro is expanded. Different from `self` in+module paths, however, `$self` _also_ captures the visibility of the module path+at the definition site: the succeeding path will be visible in the expansion if+it is visible at the macro's definition site.++Said differently, `$self` _captures_ the module scope at the macro definition+site and applies it to the succeeding path upon expansion. As an example,+consider the definition of the macro `submod::m!`:++```rust+mod submod {+    static PRIVATE: &'static str = "PRIVATE_SUBMOD";++    #[macro_export]+    macro_rules! m {+        () => (println!("{}", $self::PRIVATE))+    }+}++pub fn main() {+    submod::m!(); // `PRIVATE` unconditionally resolves to `submod::PRIVATE`+}+```++Without `$self`, it would not be possible to reference `submod::PRIVATE` outside+of `submod`. Observe, too, that unlike `$crate`, `$self` _does_ have an effect+on visibility: while `submod::PRIVATE` in `main` would _not_ resolve, the+expansion including `$self::PRIVATE` does!++# Reference-level explanation+[reference-level-explanation]: #reference-level-explanation++At its core, `$self` is `$crate` at the module-level as opposed to the crate+level. Macro metavariable naming collisions are handled in the same way as with+`$crate`. In particular, a declaration of `$self` in a macro shadows the `$self`+described here. The following works as expected, and importantly, as it does+today:++```rust+macro_rules! m {+    ($self:ident) => (println!("{}", $self))+}+```++Additionally, like `$crate`, a non-user-declared `$self` _must_ be followed by+`::`.++Notably different is that while `$crate` can be implemented as a purely+syntactic transformation, substituting `$crate` for the name of the crate in+which the macro is defined, `$self` must apply the full resolution context of+the macro's definition site to the succeeding path. When calling a macro using+`$self` cross-crate, this requires cross-crate hygiene. Thankfully, this was+recently added to the compiler in https://github.com/rust-lang/rust/pull/72121.++Thus, `$self` can be simply and without further caveats by specified as: for+every path in the expansion that begins with `$self`, the resolution context of+the path is set to resolution context of the `Span::source()` of `$self`.

Instead of Span::source(), I think it would make more sense to talk about Span::def_site().

SergioBenitez

comment created time in 4 days

pull request commentrust-lang/rfcs

Introduce '$self' macro metavar for hygienic macro items

Can a $self keyword only be generated by macro_rules! macro (i.e. it cannot be produced by proc-macros)?

SergioBenitez

comment created time in 4 days

pull request commentrust-lang/rust

[WIP] Lazy decoding of DefPathTable from crate metadata

Perf is now either neutral or green for all non-docs builds

Aaron1011

comment created time in 5 days

PR opened rust-lang/rust

Don't call a function in function-arguments-naked.rs

Fixes #75096

It's U.B. to use anything other than inline assmebling in a naked function. Fortunately, the #break directive works fine without anything in the function body.

+1 -3

0 comment

1 changed file

pr created time in 5 days

create barnchAaron1011/rust

branch : fix/function-arguments-naked

created branch time in 5 days

pull request commentrust-lang/rust

[WIP] Lazy decoding of DefPathTable from crate metadata

@bors try

Aaron1011

comment created time in 5 days

PR opened rust-lang/rust

Add #[track_caller] to `Session::delay_span_bug`

This forwards the caller span to Handler::delay_span_bug

+1 -0

0 comment

1 changed file

pr created time in 5 days

create barnchAaron1011/rust

branch : feature/session-track-caller

created branch time in 5 days

push eventAaron1011/rust

Aaron Hill

commit sha 66961912f12141077444d88418c83e4dfaee4147

Lazily compute start DefId in rustdoc

view details

push time in 5 days

pull request commentrust-lang/rust

[WIP] Lazy decoding of DefPathTable from crate metadata

@bors try @rust-timer queue

Aaron1011

comment created time in 5 days

push eventAaron1011/rust

Aaron Hill

commit sha 88b56ce4834adb1de9bf2c891e7941ed550a323d

Use `DefId::to_fingerprint` when computing CrateNum fingerprint This makes sure that we record the (hash, def_id) pair

view details

push time in 5 days

pull request commentrust-lang/rust

Record query name when profiling "metadata_decode_entry"

@Mark-Simulacrum: I've updated the PR to use concat!

Aaron1011

comment created time in 5 days

push eventAaron1011/rust

Aaron Hill

commit sha c9bd9431d008af433f26c1af281e5240c1a41a66

Record query name when profiling "metadata_decode_entry"

view details

push time in 5 days

pull request commentrust-lang/rust

Record query name when profiling "metadata_decode_entry"

cc @Mark-Simulacrum: It is possible to get this to show up on perf.rust-lang.org?

Aaron1011

comment created time in 5 days

create barnchAaron1011/rust

branch : feature/prof-metadata-query

created branch time in 5 days

pull request commentrust-lang/rust

[WIP] Lazy decoding of DefPathTable from crate metadata

@bors try @rust-timer queue

Aaron1011

comment created time in 5 days

push eventAaron1011/rust

Aaron Hill

commit sha ac9dfc3e7785c9bba96ebac4fd51726189e1bf91

Normalize opaque types when converting `ParamEnv` to `Reveal::All` Fixes #65918

view details

Aaron Hill

commit sha 117a60e1f5045e317d3f76ce60be28d18c694608

Erase regions in try_eval_bits

view details

Aaron Hill

commit sha 90aee14eb95ac0b9ddb7cf5db6d003155e94800c

Skip computing param_env and size if not needed

view details

Aaron Hill

commit sha 5e2e927e0107916b825b164c82be44877ac6ab54

Fix rebase fallout

view details

Pietro Albini

commit sha cb76f821942053091706b7bb2c4dc416bb09bfb9

ci: avoid symlinking the build directory on self-hosted builders

view details

Pietro Albini

commit sha fe5a40eb14f233554a30c038cf8944b2d2adf9ff

ci: add aarch64-gnu as a fallible auto builder

view details

Guillaume Gomez

commit sha 403164569170e3f5c06db8b66257ac61db7cff4b

Clean up E0728 explanation

view details

Rich Kadel

commit sha 12ddd6073abecb7a515a43bee37408596e322345

Fixed coverage map issues; better aligned with LLVM APIs Found some problems with the coverage map encoding when testing with more than one counter per function. While debugging, I realized some better ways to structure the Rust implementation of the coverage mapping generator. I refactored somewhat, resulting in less code overall, expanded coverage of LLVM Coverage Map capabilities, and much closer alignment with LLVM data structures, APIs, and naming. This should be easier to follow and easier to maintain.

view details

Guillaume Gomez

commit sha 1d2e3fff69b654c3dfd6a810e193db29bb1868fa

Clean up E0730 explanation

view details

Andy Russell

commit sha 0b320086425937b17bda5ee9e856ac6441d71d96

report kind of deprecated item in message This is important for fields, which are incorrectly referred to as "items".

view details

Guillaume Gomez

commit sha f22a34e84d4dba9b17bb3e68051ee82bd85f3c94

Clean up E0734 explanation

view details

Joseph Ryan

commit sha c692ed468c8dc4b9f549ef839b4b490e3b84d19c

Move `Error` and `RenderInfo` out of `html` module

view details

Joseph Ryan

commit sha 5bc97946ca35a789b690668bb6b27ca41bfeb5b2

Refactor html backend to use generic interface

view details

Joseph Ryan

commit sha 6a4396b98c6fcb405429a9798a9ab6554f015b7e

Extract `Cache` and other types from `html` module

view details

Joseph Ryan

commit sha a7909522547cb35b32a4f11b78b2b54864189295

Pull out more types from html

view details

Joseph Ryan

commit sha 65bf5d5248635152262344770591c367ba6a9890

TODO -> FIXME

view details

Joseph Ryan

commit sha 3d707a008e0822471de4adad047b5cefd281f3ac

Make requested changes

view details

Alan Somers

commit sha 013e1a6e9f73125734cb919d9b6220b3a4710d67

Enable the profiler on FreeBSD FreeBSD has been doing this in our own package builds for two months now. https://svnweb.freebsd.org/ports?view=revision&revision=535771

view details

Nathaniel McCallum

commit sha 25670749b44a9c7a4cfd3fbf780bbe3344a9a6c5

Suppress debuginfo on naked function arguments A function that has no prologue cannot be reasonably expected to support debuginfo. In fact, the existing code (before this patch) would generate invalid instructions that caused crashes. We can solve this easily by just not emitting the debuginfo in this case. Fixes https://github.com/rust-lang/rust/issues/42779 cc https://github.com/rust-lang/rust/issues/32408

view details

Joseph Ryan

commit sha cee8023c690158daf4f6c3d8bf2d32297fdfed0c

More requested changes

view details

push time in 5 days

PR opened rust-lang/rust

Handle projection predicates in the param env for auto-trait docs

Fixes #72213

Any predicates in the param env are guaranteed to hold, so we don't need to do any additional processing of them if we come across them as sub-obligations of a different predicate. This allows us to avoid adding the same predicate to the computed ParamEnv multiple times (but with different regions each time), which causes an ambiguity error during fulfillment.

+32 -0

0 comment

2 changed files

pr created time in 5 days

create barnchAaron1011/rust

branch : fix/auto-trait-proj-ice

created branch time in 5 days

Pull request review commentrust-lang/rust

diagnostics: shorten paths of unique symbols

 options! {DebuggingOptions, DebuggingSetter, basic_debugging_options,         "run LLVM in non-parallel mode (while keeping codegen-units and ThinLTO)"),     no_profiler_runtime: bool = (false, parse_no_flag, [TRACKED],         "prevent automatic injection of the profiler_builtins crate"),+    disable_unique_symbols: bool = (false, parse_bool, [UNTRACKED],

My concern is mainly when checking the flag - I think !disable_unique_symbols is slightly harder to understand than enable_unique_symbols. However, I don't have a strong opinion about it.

da-x

comment created time in 5 days

PR opened rust-lang/rust

Show backtrace numbers in backtrace whenever more than one is involved

Previously, we only displayed 'frame' numbers in a macro backtrace when more than two frames were involved. This commit should help make backtrace more readable, since these kinds of messages can quickly get confusing.

+6 -6

0 comment

2 changed files

pr created time in 6 days

create barnchAaron1011/rust

branch : feature/macro-backtrace-numbers

created branch time in 6 days

PR opened rust-lang/rust

Handle fieldless tuple structs in diagnostic code

Fixes #75062

+28 -4

0 comment

3 changed files

pr created time in 6 days

create barnchAaron1011/rust

branch : fix/fieldless-tuple-error

created branch time in 6 days

issue commentrust-lang/rust

[Nightly ICE] Deep in proc macro: panicked at 'empty field list in the map'

Minimized:

mod foo {
    struct Bar();
}

fn main() {
    foo::Bar();
}
jhwgh1968

comment created time in 6 days

pull request commentrust-lang/rust

rustc_ast: Stop using "string typing" for doc comment tokens

@petrochenkov: Could you add a test verifying that proc-macros receive the original doc comment value (e.g. without any whitespace trimming)?

r=me once that's done.

petrochenkov

comment created time in 6 days

pull request commentrust-lang/rust

Link to corresponding sections for enum variants in rustdoc

@GuillaumeGomez: Any type used in a codeblock (other than a plain generic parameter T) has a link: see the pages I listed in https://github.com/rust-lang/rust/pull/75178#issuecomment-669069920 for examples

RDambrosio016

comment created time in 6 days

PR opened rust-lang/rust

Label rustfmt toolstate issues with A-rustfmt

This makes it easier to filter toolstate issues by the tool involved.

+1 -1

0 comment

1 changed file

pr created time in 6 days

create barnchAaron1011/rust

branch : toolstate/a-rustfmt

created branch time in 6 days

pull request commentrust-lang/rust

Link to corresponding sections for enum variants in rustdoc

@GuillaumeGomez: Personally, I find it easier to read through the code block enum declaration, rather than looking at the sidebar. Types used in codeblocks already have links - is there any harm in adding more?

RDambrosio016

comment created time in 6 days

pull request commentrust-lang/rustfmt

rustfmt 1.x bump rustc-ap to v671

Is there anything else that needs to be done in order for this PR is merged? The lack of rustfmt on the latest nightlies is blocking https://github.com/solana-labs/solana/pull/11326

calebcartwright

comment created time in 6 days

pull request commentrust-lang/rust

Link to corresponding sections for enum variants in rustdoc

resolves #74849 (for structs rustdoc shows fields omitted, so i am not sure if that should be removed and replaced for this)

@RDambrosio016: I think that's only for private fields/structs. For example, rustc_infer::traits::Obligation shows all of the fields. I think it would be useful to generate links for structs as well.

@GuillaumeGomez: I think links in code blocks are very useful, especially for larger enums. For example, having links on rustc_hir::ExprKind would make it much easier to read the description for any particular variant.

RDambrosio016

comment created time in 6 days

issue openedrust-lang/crater

Estimated end becomes inaccurate when job is paused

The estimated time assumes that a job runs continuously from start to end. This can cause results like this:

Screenshot from 2020-08-04 05-09-39

created time in 7 days

pull request commentrust-lang/rust

Don't serialize ExpnData for foreign crates

@bors try @rust-timer queue

Aaron1011

comment created time in 7 days

PR opened rust-lang/rust

Don't serialize ExpnData for foreign crates

When we encode an ExpnId into the crate metadata, we write out the CrateNum of the crate that 'owns' the corresponding ExpnData, which is later used to decode the ExpnData from its owning crate.

However, we current serialize the ExpnData for all ExpnIds that we serialize, even if the ExpnData was already serialized into a foreign crate. This commit skips encoding this kind of ExpnData, which should hopefully speed up metadata encoding and reduce the total metadata size.

+18 -4

0 comment

1 changed file

pr created time in 7 days

create barnchAaron1011/rust

branch : fix/hygiene-skip-expndata

created branch time in 7 days

Pull request review commentrust-lang/rust

diagnostics: shorten paths of unique symbols

 options! {DebuggingOptions, DebuggingSetter, basic_debugging_options,         "run LLVM in non-parallel mode (while keeping codegen-units and ThinLTO)"),     no_profiler_runtime: bool = (false, parse_no_flag, [TRACKED],         "prevent automatic injection of the profiler_builtins crate"),+    disable_unique_symbols: bool = (false, parse_bool, [UNTRACKED],

Could this be changed to enable_unique_symbols or use_unique_symbols? I find it easier to deal with command-line arguments that don't involve double-negatives (e.g. "don't disable unique symbols").

da-x

comment created time in 7 days

pull request commentrust-lang/rust

Hash parent ExpnData

@bors try @rust-timer queue

Aaron1011

comment created time in 7 days

PR opened rust-lang/rust

Hash parent ExpnData
+39 -33

0 comment

2 changed files

pr created time in 7 days

create barnchAaron1011/rust

branch : feature/expn-data-parent-hash

created branch time in 7 days

pull request commentsolana-labs/solana

Remove ::solana_sdk hack

@mvines: It looks like nightly-2020-07-27 is a day too early - we need a nightly at least one day older in order to pull in my hygiene serialization change. I think we'll need to wait for rustfmt to become available on a newer nightly.

Aaron1011

comment created time in 7 days

push eventAaron1011/solana

Justin Starry

commit sha 54d36d2cfbcc562a042cb03b899a15913010ef6c

Add cluster stats tab to explorer (#11325)

view details

Justin Starry

commit sha 2300080f6810203a5a086eca63f84d26ebe7be0a

Improve explorer tx count animation (#11327)

view details

Raj Gokal

commit sha e2789b93734ce3abe0ded2170ed75b95b0f689cf

cross-links SPL library

view details

Raj Gokal

commit sha 97c0f7c3646a5f07dbdb424aeb17a33e9390b7e9

Merge branch 'master' of github.com:solana-labs/solana

view details

Justin Starry

commit sha eab48c99d71cd3048377cbbd28e098d975aeef0e

Display SOL uniformly in explorer

view details

Justin Starry

commit sha d4eb49d252845a5cfb879a1e24b8dd73162c55c6

Add navbar and remove tabbed page layout

view details

Justin Starry

commit sha 0d8f3139ae88d3909876c9f4bff83639bf8d1219

Add unified search bar to the explorer

view details

Justin Starry

commit sha b6ea9f1861b994dea1b3f06607b536eac9812607

Clean up explorer data providers (#11334)

view details

Justin Starry

commit sha 4052008c42b81ff5c49945b68f4b452138398339

Display owned tokens on account details page (#11335)

view details

Justin Starry

commit sha 433f26229076827446ab5cae252ced6f848a9187

Fix explorer bugs (#11336) * Fix race condition in explorer details fetching * Fix SOL delta rendering bug

view details

Michael Vines

commit sha ffbd859c42a9a978266c6c86b1e575db3eba157a

Update spl-token and spl-memo

view details

Michael Vines

commit sha 27a887957480f13f961434d49512914b86991b48

Update update timeline

view details

Tyera Eulberg

commit sha d1b2e6cdf24d06aba8691f04d9340246973c4554

Add getTokenLargestAccounts endpoint (#11322)

view details

Justin Starry

commit sha f401ef7996c11807fd9d0e8b7dc86256b27e36e6

Linkify all explorer addresses (#11339)

view details

Tyera Eulberg

commit sha 0bc9bcc8b9a634c9f3222ef9ef0ade5b85e08ce9

Fix bad rebase

view details

Aaron Hill

commit sha 8bcc8edf47b556c7177bb9058dacc62dd101c575

Remove calls to `unwrap()` in `respan!` macro Previously, `proc_macro2::Span::resolved_at` was gated behind cfg(procmacro2_semver_exempt). This gate has been removed in the latest version of proc-macro2, allowing us to avoid using `unwrap()` to use the underling method on `proc_macro::Span`

view details

Justin Starry

commit sha 1fe762cc791c8ce466ba12f754f9321a4ca0d49e

Disable owned token request on mainnet explorer (#11343)

view details

dependabot[bot]

commit sha 2393278849d0df0480d1c7afad92d32f095d7106

chore:(deps): bump @testing-library/user-event in /explorer (#11345) Bumps [@testing-library/user-event](https://github.com/testing-library/user-event) from 12.0.17 to 12.1.0. - [Release notes](https://github.com/testing-library/user-event/releases) - [Changelog](https://github.com/testing-library/user-event/blob/master/CHANGELOG.md) - [Commits](https://github.com/testing-library/user-event/compare/v12.0.17...v12.1.0) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

dependabot[bot]

commit sha fc7ba7585dd966c1a6a05fcfd786b23f910834d0

chore:(deps): bump @types/react from 16.9.43 to 16.9.44 in /explorer (#11346) Bumps [@types/react](https://github.com/DefinitelyTyped/DefinitelyTyped/tree/HEAD/types/react) from 16.9.43 to 16.9.44. - [Release notes](https://github.com/DefinitelyTyped/DefinitelyTyped/releases) - [Commits](https://github.com/DefinitelyTyped/DefinitelyTyped/commits/HEAD/types/react) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

view details

Michael Vines

commit sha f3e83c080a8f58f6aa7417234798bac4a046345b

Add mainnet-beta upgrade-in-process banner

view details

push time in 7 days

pull request commentrust-lang/rust

rustc_ast: Stop using "string typing" for doc comment tokens

@petrochenkov: It looks like there are a few merge conflicts to resolve.

petrochenkov

comment created time in 7 days

Pull request review commentrust-lang/rust

rustc_ast: Stop using "string typing" for doc comment tokens

 impl<'a> StringReader<'a> {                     FatalError.raise();                 } -                if is_doc_comment {+                if let Some(attr_style) = attr_style {                     self.forbid_bare_cr(start, string, "bare CR not allowed in block doc-comment");-                    token::DocComment(Symbol::intern(string))+                    token::DocComment(+                        CommentKind::Block,+                        attr_style,+                        Symbol::intern(&string[3..string.len() - if terminated { 2 } else { 0 }]),

and here

petrochenkov

comment created time in 7 days

Pull request review commentrust-lang/rust

rustc_ast: Stop using "string typing" for doc comment tokens

 impl<'a> StringReader<'a> {         match token {             rustc_lexer::TokenKind::LineComment => {                 let string = self.str_from(start);-                // comments with only more "/"s are not doc comments-                if comments::is_line_doc_comment(string) {+                if let Some(attr_style) = comments::line_doc_comment_style(string) {                     self.forbid_bare_cr(start, string, "bare CR not allowed in doc-comment");-                    token::DocComment(Symbol::intern(string))+                    token::DocComment(CommentKind::Line, attr_style, Symbol::intern(&string[3..]))

Here as well

petrochenkov

comment created time in 7 days

Pull request review commentrust-lang/rust

rustc_ast: Stop using "string typing" for doc comment tokens

 declare_lint_pass!(TabsInDocComments => [TABS_IN_DOC_COMMENTS]);  impl TabsInDocComments {     fn warn_if_tabs_in_doc(cx: &EarlyContext<'_>, attr: &ast::Attribute) {-        if let ast::AttrKind::DocComment(comment) = attr.kind {+        if let ast::AttrKind::DocComment(_, comment) = attr.kind {             let comment = comment.as_str();              for (lo, hi) in get_chunks_of_tabs(&comment) {                 let new_span = Span::new(-                    attr.span.lo() + BytePos(lo),-                    attr.span.lo() + BytePos(hi),+                    attr.span.lo() + BytePos(3 + lo),

Can you add a comment explaining this?

petrochenkov

comment created time in 7 days

Pull request review commentrust-lang/rust

rustc_ast: Stop using "string typing" for doc comment tokens

 declare_lint_pass!(TabsInDocComments => [TABS_IN_DOC_COMMENTS]);  impl TabsInDocComments {     fn warn_if_tabs_in_doc(cx: &EarlyContext<'_>, attr: &ast::Attribute) {-        if let ast::AttrKind::DocComment(comment) = attr.kind {+        if let ast::AttrKind::DocComment(_, comment) = attr.kind {             let comment = comment.as_str();              for (lo, hi) in get_chunks_of_tabs(&comment) {                 let new_span = Span::new(-                    attr.span.lo() + BytePos(lo),-                    attr.span.lo() + BytePos(hi),+                    attr.span.lo() + BytePos(3 + lo),

Where do these '3's come from?

petrochenkov

comment created time in 7 days

pull request commentrust-lang/rust

Stabilize Ident::new_raw

@petrochenkov: Squashed

Aaron1011

comment created time in 7 days

push eventAaron1011/rust

Aaron Hill

commit sha 6deda6a6a05e6e6ace8fb015d610c6355efb0fd7

Stabilize Ident::new_raw Tracking issue: #54723 This is a continuation of PR #59002

view details

push time in 7 days

pull request commentrust-lang/rust

Stabilize Ident::new_raw

@petrochenkov: I've addressed your comments

Aaron1011

comment created time in 8 days

push eventAaron1011/rust

Camille GILLOT

commit sha e288d050127f0bf78b325ef4d34b8b697ce28c80

Introduce an abstraction for EvaluationCache and SelectionCache.

view details

Camille GILLOT

commit sha 2baefd3206b29b06f1cb55b91be9a2e380e7d2de

Move IntercrateAmbiguityCause to librustc_trait_selection.

view details

Camille GILLOT

commit sha 058e02145786ce50c86dd590d792271839907642

Use Lift derive proc-macro in librustc_traits.

view details

Vadim Petrochenkov

commit sha 0eacf02f01b4ea084a4f970e487ce6d3a6a20f90

tests: Ignore src/test/debuginfo/rc_arc.rs on Windows It requires loading pretty-printers, but GDB doesn't load them on Windows

view details

Tomasz Miąsko

commit sha 82651db9b2f6ecb16c773e8afa301c862118bb82

Fix change detection in CfgSimplifier::collapse_goto_chain Check that the old target is different from the new collapsed one, before concluding that anything changed.

view details

Tomasz Miąsko

commit sha 7f9f2ff9f40ed46a209cf232429120333fe42455

Remove redundant assignment from CfgSimplifier

view details

Nicholas Nethercote

commit sha d93277b9150d50fae4b086cd6efe2a006b3d88da

Remove `GCX_PTR`. We store an `ImplicitCtxt` pointer in a thread-local value (TLV). This allows implicit access to a `GlobalCtxt` and some other things. We also store a `GlobalCtxt` pointer in `GCX_PTR`. This is always the same `GlobalCtxt` as the one within the `ImplicitCtxt` pointer in TLV. `GCX_PTR` is only used in the parallel compiler's `handle_deadlock()` function. This commit does the following. - It removes `GCX_PTR`. - It also adds `ImplicitCtxt::new()`, which constructs an `ImplicitCtxt` from a `GlobalCtxt`. `ImplicitCtxt::new()` + `tls::enter_context()` is now equivalent to the old `tls::enter_global()`. - Makes `tls::get_tlv()` public for the parallel compiler, because it's now used in `handle_deadlock()`.

view details

Nicholas Nethercote

commit sha 8c78fd234be2b3adfeda8748379370e5b8433ce3

Use more appropriate `tls::with_*` methods in some places.

view details

bors

commit sha 8244b1b11488a336a485f07fd6550b973009a931

Auto merge of #74969 - nnethercote:rm-GCX_PTR, r=Mark-Simulacrum Remove `GCX_PTR`. We store an `ImplicitCtxt` pointer in a thread-local value (TLV). This allows implicit access to a `GlobalCtxt` and some other things. We also store a `GlobalCtxt` pointer in `GCX_PTR`. This is always the same `GlobalCtxt` as the one within the `ImplicitCtxt` pointer in TLV. `GCX_PTR` is only used in the parallel compiler's `handle_deadlock()` function. This commit does the following. - It removes `GCX_PTR`. - It also adds `ImplicitCtxt::new()`, which constructs an `ImplicitCtxt` from a `GlobalCtxt`. `ImplicitCtxt::new()` + `tls::enter_context()` is now equivalent to the old `tls::enter_global()`. - Makes `tls::get_tlv()` public for the parallel compiler, because it's now used in `handle_deadlock()`. r? @petrochenkov

view details

bors

commit sha 7637cbb79bad4fdc29906a21847096a997a13631

Auto merge of #75055 - cjgillot:clean-cache, r=oli-obk Introduce an abstraction for EvaluationCache and SelectionCache The small duplicated code has been moved to librustc_query_system. The remaining changes are some cleanups of structural impls.

view details

bors

commit sha 1b0ff9e7d0620daa86a80bf92f6b661f7699984e

Auto merge of #75068 - petrochenkov:ignore-debinfo, r=Mark-Simulacrum tests: Ignore src/test/debuginfo/rc_arc.rs on Windows It requires loading pretty-printers (`src\etc\gdb_load_rust_pretty_printers.py`), but GDB doesn't load them on Windows. Not sure how this passes through CI, due to an old GDB version perhaps?

view details

bors

commit sha dbc2ef25fb5e15445de38f19ba75547a6cf35cae

Auto merge of #75076 - tmiasko:simplify-goto, r=oli-obk Fix change detection in CfgSimplifier::collapse_goto_chain Check that the old target is different from the new collapsed one, before concluding that anything changed. Fixes #75074 Fixes #75051

view details

kennytm

commit sha fd7596c9a538b3c51f2d55c2d5f6ef881e6ba742

fix broken git commit in stdarch

view details

bors

commit sha c186aed59ab590eb586751afaf6b9e0ea9b78099

Auto merge of #75092 - kennytm:fix-75009, r=pietroalbini Fix broken git commit in stdarch Follow-up on #75009, point to the real master commit.

view details

Aaron Hill

commit sha ab98b33b093502e62a260021bdbea4197964175a

Stabilize Ident::new_raw Tracking issue: #54723 This is a continuation of PR #59002

view details

Aaron Hill

commit sha 701bcb632867cbffec81484c5539ea04f61f5ca0

Adjust documentation

view details

Aaron Hill

commit sha f9d2f54c006521260de415d450a36f12cdb9324a

Adjust test

view details

push time in 8 days

PR closed rust-lang/rust

Cache layout of `Location` type S-blocked

This reduces the number of queries lookups we need to perform.

+16 -12

17 comments

3 changed files

Aaron1011

pr closed time in 8 days

pull request commentrust-lang/rust

Cache layout of `Location` type

Still no perf impact - I'm going to close this.

Aaron1011

comment created time in 8 days

push eventAaron1011/rust

Aaron Hill

commit sha 87422ef43fd3d52ef522a684576af509ed20933c

Add `-Z proc-macro-backtrace` to allow showing proc-macro panics Fixes #75050 Previously, we would unconditionally suppress the panic hook during proc-macro execution. This commit adds a new flag `-Z proc-macro-backtrace`, which allows running the panic hook for easier debugging.

view details

push time in 8 days

push eventAaron1011/rust

Aaron Hill

commit sha 9acdad1290a6b65e339297c809b943ded0729bf3

Add `-Z proc-macro-backtrace` to allow showing proc-macro panics Fixes #75050 Previously, we would unconditionally suppress the panic hook during proc-macro execution. This commit adds a new flag `-Z proc-macro-backtrace`, which allows running the panic hook for easier debugging.

view details

push time in 8 days

pull request commentrust-lang/rust

Cache layout of `Location` type

@bors try @rust-timer queue

Aaron1011

comment created time in 8 days

push eventAaron1011/rust

Aaron Hill

commit sha ded22d922566782968137fecdd33284678af51bf

Cache layout of `Location` type

view details

push time in 8 days

push eventAaron1011/rust

Nicholas Nethercote

commit sha fd8f1772347d122b223ef573aeaa34cfa93ceec5

Enforce the static symbol order. By making the proc macro abort if any symbols are out of order. The commit also changes the proc macro collect multiple errors (of order or duplicated symbols) and prints them at the end, which is useful if you have multiple errors.

view details

Nicholas Nethercote

commit sha 600b8247a8008b8e4fb2f6b6f61207ba85aba363

Rename `sym::item_context` as `sym::ItemContext`. Because it represents the symbol `ItemContext`, and `sym` identifiers are supposed to match the actual symbol whenever possible.

view details

Manish Goregaokar

commit sha 31121cbec3a341cfc7b2823f30e8a52c11b06047

Rollup merge of #73421 - janikrabe:master, r=joshtriplett Clarify effect of orphan rule changes on From/Into Updated documentation for `std::convert` and `std::convert::From` to reflect changes to orphan rule in Rust 1.41. It should no longer be necessary to implement `Into` directly, unless targeting an older version. r? @steveklabnik

view details

Manish Goregaokar

commit sha e598ee51e4c71ef535428d6d9724bd22dfd39c6a

Rollup merge of #74037 - JohnTitor:contributing-md, r=Mark-Simulacrum Update reference to CONTRIBUTING.md CONTRIBUTING.md has been migrated to the rustc-dev-guide but some still refer there. Update them with the appropriate links. Fixes #74253

view details

Manish Goregaokar

commit sha 5b10e47433f28f474045c7662a841176f341f743

Rollup merge of #74203 - nnethercote:enforce-static-symbol-order, r=petrochenkov Enforce the static symbol order. By making the proc macro abort if any symbols are out of order. The commit also changes the proc macro collect multiple errors (of order or duplicated symbols) and prints them at the end, which is useful if you have multiple errors. r? @petrochenkov

view details

Manish Goregaokar

commit sha 80a7a87be23dac0cea4f65af07956c653601506d

Rollup merge of #74295 - ssomers:btree_comments, r=Mark-Simulacrum Add and fix BTreeMap comments No code changed (yet)

view details

Manish Goregaokar

commit sha 2872da361ee740ceb1828324c752ac93eafdeef9

Rollup merge of #74352 - ehuss:fix-alloc-links, r=Mark-Simulacrum Use local links in the alloc docs. Links to other crates (like core) from the alloc crate were incorrectly using the `https://doc.rust-lang.org/nightly/` absolute (remote) links, instead of relative (local) links. For example, the link to `Result` at https://doc.rust-lang.org/1.44.1/alloc/vec/struct.Vec.html#method.try_reserve goes to /nightly/. This is because alloc was being documented before core, and rustdoc relies on the existence of the local directory to know if it should use a local or remote link. There was code that tried to compensate for this (`create_dir_all`), but in #54543 it was broken because instead of running `cargo doc` once for all the crates, it was changed to run `cargo rustdoc` for each crate individually. This means that `create_dir_all` was no longer doing what it was supposed to be doing (creating all the directories before starting). The solution here is to just build in the correct order (from the dependency leaves towards the root). An alternate solution would be to switch back to running `cargo doc` once (and use RUSTDOCFLAGS for passing in flags). Another alternate solution would be to iterate over the list twice, creating the directories during the first pass. I also did a little cleanup to remove the "crate-docs" directory. This was added in the past because different crates were built in different directories. Over time, things have been unified (and rustc docs no longer include std), so it is no longer necessary.

view details

Manish Goregaokar

commit sha 4b4ea686ff3a0f44b5b2fef04a34ad27832617af

Rollup merge of #74377 - alexcrichton:test-default, r=Mark-Simulacrum Move libstd's default feature to libtest This commit makes it so `std` no longer has a `default` feature, but instead the `test` crate has a `default` feature doing the same thing. The purpose of this commit is to allow Cargo's `-Zbuild-std` command, which could customize the features of the standard library, to handle the `default` feature for libstd. Currently Cargo's `-Zbuild-std` support starts at libtests's manifest as the entry point to the std set of crates.

view details

Manish Goregaokar

commit sha a77813b8d0866a474a9a853d5a479ebc052bef06

Rollup merge of #74381 - mbrubeck:docs, r=Mark-Simulacrum Update docs for str::as_bytes_mut. * Add "Safety" section describing UTF-8 invariant. * Remove mention of `from_utf8_mut`. It is not necessary to call a function to convert the byte slice back to a string slice. The original string becomes accessible again after the byte slice is no longer used (as shown in the example code).

view details

bors

commit sha 4cd0ee9343da86d9770bf0a514a682d240e0dce8

Auto merge of #74388 - Manishearth:rollup-i7iueu8, r=Manishearth Rollup of 7 pull requests Successful merges: - #73421 (Clarify effect of orphan rule changes on From/Into) - #74037 (Update reference to CONTRIBUTING.md) - #74203 (Enforce the static symbol order.) - #74295 (Add and fix BTreeMap comments) - #74352 (Use local links in the alloc docs.) - #74377 (Move libstd's default feature to libtest) - #74381 (Update docs for str::as_bytes_mut.) Failed merges: r? @ghost

view details

Oliver Scherer

commit sha 763aaef670f7ac1e00003beec760188d9987173d

Move `ty::Const` and `ty::ConstKind` into their own modules

view details

Oliver Scherer

commit sha ef66bf067b4614cc57f07bcdc186b6344a0bdc6b

Make `try_eval` private

view details

Oliver Scherer

commit sha 1bf09933ed46d2063128218b9474430ffc694aff

Group the try_eval functions before the eval functions

view details

ColoredCarrot

commit sha 593c7fe6d6b44c87df07d62996cf575fb3f62ce9

Fix typo in std::mem::transmute documentation u32::from_ge_bytes method does not exist; replace with u32::from_be_bytes

view details

Bastian Kauschke

commit sha 338a27174a0bd900e573b2ee0e7383244a8b0bf9

forbid generic params in the type of const params

view details

Bastian Kauschke

commit sha 14a1031ec6cc4c8a0475e92a4c6ddcd75108e0ee

add self dependent const param test

view details

Bastian Kauschke

commit sha 3f558402431f4ce033fb472bdd9cc10bd92fa73a

relax Node lt bounds

view details

Bastian Kauschke

commit sha 6f5d8bf5c8ec9a62d62623e59fceb8abd0996f1b

don't supply generics to AnonConsts in param lists

view details

Bastian Kauschke

commit sha 0c511ab5c7fae69635ea4f296a1ffae25a22b0f0

update help message

view details

Bastian Kauschke

commit sha 01f5dd374cb1762d722ed3537779377a74774cf1

bless ui tests

view details

push time in 8 days

more