- 01 1月, 2021 2 次提交
-
-
由 Julian Knodt 提交于
- Adds optional default values to const generic parameters in the AST and HIR - Parses these optional default values - Adds a `const_generics_defaults` feature gate
-
由 Mara Bos 提交于
-
- 30 12月, 2020 2 次提交
-
-
由 mark 提交于
-
- 27 12月, 2020 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 22 12月, 2020 2 次提交
-
-
由 Joshua Nelson 提交于
-
由 Vadim Petrochenkov 提交于
Edition evaluation is kept lazy because it may be expensive.
-
- 18 12月, 2020 2 次提交
-
-
由 Arlie Davis 提交于
Currently, the rustc_macros::symbols macro generates two `macro_rules!` macros as its output. These two macros are used in rustc_span/src/symbol.rs. This means that each Symbol that we define is represented in the AST of rustc_symbols twice: once in the definition of the `define_symbols!` macro (similarly for the `keywords! macro), and once in the rustc_span::symbols definition. That would be OK if there were only a handful of symbols, but currently we define over 1100 symbols. The definition of the `define_symbols!` macro contains the expanded definition of each symbol, so that's a lot of AST storage wasted on a macro that is used exactly once. This commit removes the `define_symbols` macro, and simply allows the proc macro to directly generate the `rustc_symbols::symbol::sym` module. The benefit is mainly in reducing memory wasted during compilation of rustc itself. It should also reduce memory used by Rust Analyzer. This commit also reduces the size of the AST for symbol definitions, by moving two `#[allow(...)]` attributes from the symbol constants to the `sym` module. This eliminates 2200+ attribute nodes. This commit also eliminates the need for the `digits_array` constant. There's no need to store an array of Symbol values for digits. We can simply define a constant of the base value, and add to that base value.
-
由 pierwill 提交于
Edit wording of the doc comment for rustc_span::symbol::Symbol::can_be_raw to match related methods.
-
- 15 12月, 2020 1 次提交
-
-
由 Joshua Nelson 提交于
This decreases the size of `Item` from 680 to 616 bytes. It also does a lot less work since it no longer has to copy as much.
-
- 11 12月, 2020 1 次提交
-
-
由 Arlie Davis 提交于
This takes care of one "FIXME": // FIXME: use direct symbol comparison for register class names Instead of using string literals, this uses Symbol for register class names.
-
- 10 12月, 2020 1 次提交
-
-
由 Vadim Petrochenkov 提交于
-
- 04 12月, 2020 1 次提交
-
-
由 Joshua Nelson 提交于
-
- 01 12月, 2020 1 次提交
-
-
由 Vishnunarayan K I 提交于
-
- 28 11月, 2020 1 次提交
-
-
由 Guillaume Gomez 提交于
-
- 24 11月, 2020 1 次提交
-
-
由 Camelid 提交于
They were originally called "opt-in, built-in traits" (OIBITs), but people realized that the name was too confusing and a mouthful, and so they were renamed to just "auto traits". The feature flag's name wasn't updated, though, so that's what this PR does. There are some other spots in the compiler that still refer to OIBITs, but I don't think changing those now is worth it since they are internal and not particularly relevant to this PR. Also see <https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/opt-in.2C.20built-in.20traits.20(auto.20traits).20feature.20name>.
-
- 11 11月, 2020 1 次提交
-
-
由 Aman Arora 提交于
Signed-off-by: NAman Arora <me@aman-arora.com>
-
- 09 11月, 2020 1 次提交
-
-
由 David Hewitt 提交于
-
- 07 11月, 2020 1 次提交
-
-
由 Fabian Zaiser 提交于
Co-authored-by: Nvarkor <github@varkor.com>
-
- 28 10月, 2020 1 次提交
-
-
由 Santiago Pastorino 提交于
-
- 27 10月, 2020 3 次提交
-
-
由 Ayrton 提交于
The lint checks arguments in calls to `transmute` or functions that have `Pointer` as a trait bound and displays a warning if the argument is a function reference. Also checks for `std::fmt::Pointer::fmt` to handle formatting macros although it doesn't depend on the exact expansion of the macro or formatting internals. `std::fmt::Pointer` and `std::fmt::Pointer::fmt` were also added as diagnostic items and symbols.
-
由 Nathan Whitaker 提交于
-
由 Nathan Whitaker 提交于
-
- 26 10月, 2020 1 次提交
-
-
由 Joe Richey 提交于
This change is needed for compiler-builtins to check for this feature when implementing memcpy/memset. See: https://github.com/rust-lang/compiler-builtins/pull/365 The change just does compile-time detection. I think that runtime detection will have to come in a follow-up CL to std-detect. Like all the CPU feature flags, this just references #44839 Signed-off-by: NJoe Richey <joerichey@google.com>
-
- 23 10月, 2020 1 次提交
-
-
由 Mara Bos 提交于
-
- 22 10月, 2020 1 次提交
-
-
由 Florian Warzecha 提交于
allow_internal_unstable is currently used to side-step feature gate and stability checks. While it was originally only meant to be used only on macros, its use was expanded to const functions. This commit prepares stricter checks for the usage of allow_internal_unstable (only on macros) and introduces the rustc_allow_const_fn_unstable attribute for usage on functions. See rust-lang/rust#69399
-
- 19 10月, 2020 4 次提交
-
-
由 Mara Bos 提交于
-
由 Mara Bos 提交于
The panic message might contain braces which should never be interpreted as format placeholders, which panic!() will do in a future edition.
-
由 Mara Bos 提交于
-
由 Mara Bos 提交于
It now only reacts to expansion of those macros, and suggests inserting `"{}", ` in the right place.
-
- 17 10月, 2020 1 次提交
-
-
由 Santiago Pastorino 提交于
-
- 12 10月, 2020 1 次提交
-
-
由 Aaron Hill 提交于
This extends the existing `ident_name_compatibility_hack` to handle the `tuple_from_req` macro defined in `actix-web` (and its fork `actori-web`).
-
- 09 10月, 2020 1 次提交
-
-
由 xd009642 提交于
-
- 06 10月, 2020 2 次提交
-
-
由 Dylan MacKenzie 提交于
-
由 Dylan MacKenzie 提交于
-
- 02 10月, 2020 1 次提交
-
-
由 Harald Hoyer 提交于
Related: https://github.com/rust-lang/rust/issues/66741 Guarded with `#![feature(default_alloc_error_handler)]` a default `alloc_error_handler` is called, if a custom allocator is used and no other custom `#[alloc_error_handler]` is defined. The panic message does not contain the size anymore, because it would pull in the fmt machinery, which would blow up the code size significantly.
-
- 30 9月, 2020 1 次提交
-
-
由 Hugues de Valon 提交于
This patch adds support for the LLVM cmse_nonsecure_entry attribute. This is a target-dependent attribute that only has sense for the thumbv8m Rust targets. You can find more information about this attribute here: https://developer.arm.com/documentation/ecm0359818/latest/Signed-off-by: NHugues de Valon <hugues.devalon@arm.com>
-
- 28 9月, 2020 2 次提交
-
-
由 Dylan MacKenzie 提交于
This was a hack to work around the lack of an escape hatch for the "min `const fn`" checks in const-stable functions. Now that we have co-opted `allow_internal_unstable` for this purpose, we no longer need the bespoke attribute.
-
由 Dylan MacKenzie 提交于
-
- 26 9月, 2020 1 次提交
-
-
由 marmeladema 提交于
-