Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
e79fef4
Fix incorrect Self path expand for inline_call
A4-Tacks Jan 1, 2026
f091a8a
Fix complete semicolon in array expression
A4-Tacks Jan 4, 2026
d6362e6
document guidelines for which shims have a place in Miri
RalfJung Dec 17, 2025
0e6d603
migrate introduce_named_lifetime to SyntaxEditor
Shourya742 Jan 22, 2026
ed44659
Prepare for merging from rust-lang/rust
Jan 25, 2026
3d87f9c
Merge ref '5a07626f4b88' from rust-lang/rust
Jan 25, 2026
a109785
Merge pull request #4832 from rust-lang/rustup-2026-01-25
RalfJung Jan 25, 2026
be79f47
Merge pull request #4767 from RalfJung/shim-scope
RalfJung Jan 25, 2026
20c31e0
Prepare for merging from rust-lang/rust
Jan 26, 2026
58f38eb
Merge ref '873d4682c7d2' from rust-lang/rust
Jan 26, 2026
5f2d232
Merge pull request #4834 from rust-lang/rustup-2026-01-26
RalfJung Jan 26, 2026
db8f276
Prepare for merging from rust-lang/rust
Jan 28, 2026
db1d1ab
Merge ref 'e96bb7e44fbc' from rust-lang/rust
Jan 28, 2026
7129412
add a bug to the trophy shelf
joboet Jan 28, 2026
9fc9950
Merge pull request #4836 from joboet/vecdeque-trophy
RalfJung Jan 28, 2026
f67f5d9
bless android tests
RalfJung Jan 28, 2026
8513474
Merge pull request #4835 from rust-lang/rustup-2026-01-28
RalfJung Jan 28, 2026
ce7c03d
Prepare for merging from rust-lang/rust
Jan 30, 2026
f15548f
Merge ref '35a31ba76397' from rust-lang/rust
Jan 30, 2026
ca86fb5
Merge pull request #4837 from rust-lang/rustup-2026-01-30
oli-obk Jan 30, 2026
455172f
trophy case: oneshot data race
RalfJung Jan 31, 2026
c18e790
Merge pull request #4838 from RalfJung/oneshot-trophy
RalfJung Jan 31, 2026
1af1222
Prepare for merging from rust-lang/rust
RalfJung Feb 1, 2026
0f4176d
Merge ref '878374e07f3b' from rust-lang/rust
RalfJung Feb 1, 2026
070102b
fix building sysroot for JSON targets
RalfJung Feb 1, 2026
62d5181
Merge pull request #4839 from RalfJung/rustup
RalfJung Feb 1, 2026
c89a88e
do not run miri for the dependency build
RalfJung Feb 2, 2026
1044241
do not forward run flags to dependency build
RalfJung Feb 2, 2026
ab29d82
When autoimporting a segment followed by other segments, only conside…
ChayimFriedman2 Feb 3, 2026
3eabab2
chore: configure capstone for x86 and clean up arm64 stub
hsqStephenZhang Feb 2, 2026
d17eefa
Merge pull request #4842 from RalfJung/miri-run
RalfJung Feb 3, 2026
dcb608d
re-balance CI
RalfJung Feb 3, 2026
477f93e
Merge pull request #4843 from hsqStephenZhang/fix/capstone_features
RalfJung Feb 3, 2026
fd1b7c1
Merge pull request #4844 from RalfJung/ci
RalfJung Feb 3, 2026
2159eaf
Add a validity testcase for uninhabited variants
meithecatte Jan 4, 2026
510af14
Bump bytes from 1.10.1 to 1.11.1 in /tests/deps
dependabot[bot] Feb 3, 2026
35f6c75
Merge pull request #4845 from rust-lang/dependabot/cargo/tests/deps/b…
RalfJung Feb 3, 2026
9a84e66
fix: Fix loses associated bounds for replace_derive_with_manual_impl
A4-Tacks Feb 4, 2026
a3d848b
Prepare for merging from rust-lang/rust
Feb 4, 2026
99f8340
Merge ref '1d05e3c131d7' from rust-lang/rust
Feb 4, 2026
1f73d3f
Merge pull request #4846 from rust-lang/rustup-2026-02-04
RalfJung Feb 4, 2026
aace5bb
Merge pull request #4805 from meithecatte/uninhabited-enum-validity
RalfJung Feb 4, 2026
5009ac3
Bump git2 from 0.20.2 to 0.20.4
dependabot[bot] Feb 4, 2026
bd0d19f
Merge pull request #4848 from rust-lang/dependabot/cargo/git2-0.20.4
RalfJung Feb 4, 2026
4b68f80
feat: Improve hover too long parameter list
A4-Tacks Feb 5, 2026
94fa522
Prepare for merging from rust-lang/rust
RalfJung Feb 5, 2026
edc1ad4
Merge ref '9f4b56a5aed8' from rust-lang/rust
RalfJung Feb 5, 2026
40857fc
chore: fix typos suggested by typos-cli
hsqStephenZhang Feb 5, 2026
ba33e03
pass -Zunstable-options to tests
RalfJung Feb 5, 2026
4d946a9
Merge pull request #4849 from RalfJung/rustup
RalfJung Feb 5, 2026
2a6b9e6
inline the binding
tshepang Feb 3, 2026
193bc70
missing word
tshepang Feb 3, 2026
85f4694
Prepare for merging from rust-lang/rust
Feb 6, 2026
13ebd31
Merge ref 'f889772d6500' from rust-lang/rust
Feb 6, 2026
b1e0336
Merge pull request #4852 from rust-lang/rustup-2026-02-06
oli-obk Feb 6, 2026
5b68138
add trailing commas
tshepang Feb 3, 2026
6bb8cc6
obsolete comment
tshepang Feb 3, 2026
638d23c
E0570: improve text
tshepang Feb 5, 2026
84741ed
add reading pauses in doc comment
tshepang Feb 5, 2026
3be2843
make docs render better by separating intro from rest of paragraph
tshepang Feb 6, 2026
f605c0a
self_param and impl_ implementation in syntax_factory
Shourya742 Feb 8, 2026
fa31e17
migrate generate_getter_or_setter to syntaxeditor api
Shourya742 Feb 8, 2026
59111f7
Add `expression_types()`, `pattern_types()`, `binding_types()` to `De…
regexident Feb 4, 2026
ae24fda
fix: Fix `set_top_subtree_delimiter_span` using wrong index for close…
Veykril Feb 9, 2026
c4eaf24
Merge pull request #21608 from Veykril/push-kknkruwvyltp
Veykril Feb 9, 2026
23f6d74
Merge pull request #21606 from Shourya742/2026-02-09-migrate-getters-…
ShoyuVanilla Feb 9, 2026
7d521a2
Merge pull request #21574 from ChayimFriedman2/autoimport-after
ShoyuVanilla Feb 9, 2026
e7855f5
internal: Run clippy as a separate CI step
Wilfred Feb 3, 2026
6494dab
fix: Sync `allow_normalize` to rustc
ShoyuVanilla Feb 9, 2026
a3b7fa9
Merge pull request #21584 from regexident/def-with-body-types
ChayimFriedman2 Feb 9, 2026
5a721a1
Improve variable name
A4-Tacks Feb 9, 2026
68f2f3c
Merge pull request #21611 from ShoyuVanilla/issue-21605
ChayimFriedman2 Feb 9, 2026
c53e819
Merge pull request #21583 from A4-Tacks/derive-manual-assoc-bounds
ShoyuVanilla Feb 10, 2026
78c8ab3
migrate destructure tuple binding to new syntaxEditor
Shourya742 Feb 11, 2026
9c7cc62
make generate_unique_lifetime_param_name return Option<SmolStr>
Shourya742 Feb 10, 2026
751508a
Merge pull request #21507 from Shourya742/2026-01-17-migrate-named-li…
ShoyuVanilla Feb 11, 2026
49228dc
Merge pull request #21618 from Shourya742/2026-02-10-migrate-destruct…
ShoyuVanilla Feb 11, 2026
eb05ff6
Merge pull request #21581 from Wilfred/clippy_in_ci
Veykril Feb 11, 2026
fcb8812
align_strange_enum_discriminant_offset: fix accidentally unused variable
RalfJung Feb 11, 2026
ecc243b
remove an unused allow(unused)
RalfJung Feb 11, 2026
940ebda
Merge pull request #4854 from RalfJung/test-unused
RalfJung Feb 11, 2026
11ce0a5
pin nightly for miri workflow
Shourya742 Feb 12, 2026
d32a473
Merge pull request #21628 from Shourya742/2026-02-12-pin-nightly-for-…
ChayimFriedman2 Feb 12, 2026
8b27b45
Revert "feat: Implement fine grained client side request cancellation…
ChayimFriedman2 Feb 12, 2026
87feb37
migrate covert_tuple_return_type to struct to syntax editor
Shourya742 Feb 11, 2026
9c468be
move to edit::AstNodeEdit from edit_in_place::Indent
Shourya742 Feb 12, 2026
c991d07
Merge pull request #21627 from rust-lang/revert-21380-push-nolvxuourwru
ChayimFriedman2 Feb 12, 2026
5bbd3e6
Merge pull request #21619 from Shourya742/2026-02-10-migrate-convert-…
ShoyuVanilla Feb 12, 2026
860469f
Merge pull request #21591 from A4-Tacks/hover-fmt-long-param
ChayimFriedman2 Feb 12, 2026
88d951e
Merge pull request #21402 from A4-Tacks/no-semicolon-array
ChayimFriedman2 Feb 12, 2026
15e661c
Merge pull request #21381 from A4-Tacks/inline-call-generic-args
ChayimFriedman2 Feb 12, 2026
61df37f
Don't assume `extern fn`s parameters are patterns
ChayimFriedman2 Feb 12, 2026
b214aac
Merge pull request #21632 from ChayimFriedman2/extern-fn-pat
ShoyuVanilla Feb 12, 2026
4fc780d
Do not resolve proc macros in value ns (as functions), only in macro …
ChayimFriedman2 Feb 12, 2026
b76642d
Cleanup unnecessary code
ChayimFriedman2 Feb 12, 2026
1911d67
Prepare for merging from rust-lang/rust
Feb 13, 2026
dce9791
Merge ref '47611e16044c' from rust-lang/rust
Feb 13, 2026
3a202c4
remove edit_in_place from replace_let_with_if_let assist with edit::A…
Shourya742 Feb 13, 2026
28bf2db
remove edit_in_place from move_const_to_impl assist with edit::AstNod…
Shourya742 Feb 13, 2026
6221b39
remove edit_in_place from bind_unused_param assist with edit::AstNode…
Shourya742 Feb 13, 2026
5de304e
remove edit_in_place from generate_mut_trait_impl assist with edit::A…
Shourya742 Feb 13, 2026
34eee0c
remove edit_in_place from generate_getter_or_setter assist with edit:…
Shourya742 Feb 13, 2026
96d6a3e
remove edit_in_place from convert_let_else_to_match assist with edit:…
Shourya742 Feb 13, 2026
8841267
Merge pull request #4856 from rust-lang/rustup-2026-02-13
RalfJung Feb 13, 2026
c8e284b
remove edit_in_place from replace_if_let_with_match assist with edit:…
Shourya742 Feb 13, 2026
140a039
remove edit_in_place from generate_trait_from_impl assist with edit::…
Shourya742 Feb 13, 2026
85e0c32
remove edit_in_place from convert_bool_to_enum assist with edit::AstN…
Shourya742 Feb 13, 2026
c6b1f8a
remove edit_in_place from generate_new assist with edit::AstNodeEdit
Shourya742 Feb 13, 2026
6040177
Merge pull request #21636 from Shourya742/2026-02-13-remove-edit-in-p…
ShoyuVanilla Feb 13, 2026
f931a79
Merge pull request #21633 from ChayimFriedman2/proc-macro-is-not-fn
ShoyuVanilla Feb 13, 2026
b132beb
internal: Use rayon for proc-macro loading
Veykril Feb 7, 2026
4b5b181
Merge pull request #21609 from Veykril/push-qknzslvkmtyt
Veykril Feb 13, 2026
c2c7d5d
build(deps): bump qs from 6.14.1 to 6.14.2 in /editors/code
dependabot[bot] Feb 13, 2026
da9ff14
Remove incorrect warning log
Veykril Feb 13, 2026
ca35562
Merge pull request #21640 from Veykril/push-rutrqvxousks
Veykril Feb 13, 2026
7ce9839
migrate generate_impl to use AstNodeEdit
Shourya742 Feb 13, 2026
a9cc42e
Revert "fix: Stale diagnostics with rust-project.json and rustc JSON"
Veykril Feb 13, 2026
81b7275
Merge pull request #21644 from Veykril/push-zrzoswxlqlqq
Veykril Feb 13, 2026
deaae49
Merge pull request #21639 from rust-lang/dependabot/npm_and_yarn/edit…
Veykril Feb 14, 2026
4247967
simplify wildcard datastructure
royAmmerschuber Feb 5, 2026
c78baeb
Merge pull request #4851 from royAmmerschuber/feature/simplyfy-exposing
RalfJung Feb 14, 2026
9216678
feat: vtbl1_u8 intrinsic on aarch64
hsqStephenZhang Feb 4, 2026
5932915
minor tweaks
RalfJung Feb 14, 2026
3d2786f
Merge pull request #4847 from hsqStephenZhang/feat/aarch64_intrinsics
RalfJung Feb 14, 2026
0b1003c
Merge pull request #4850 from hsqStephenZhang/chore/typos
saethlin Feb 14, 2026
d15d714
fix smol_str compilation error
alexanderkjall Feb 14, 2026
6464188
fix: handle `ref mut` bindings in `contains_explicit_ref_binding`
Albab-Hasan Feb 14, 2026
1c21e60
made -> marked
saethlin Feb 14, 2026
e542472
Merge pull request #4858 from saethlin/typos-redux
saethlin Feb 15, 2026
d888b1c
Prepare for merging from rust-lang/rust
Feb 15, 2026
0f86403
Merge ref '7bee525095c0' from rust-lang/rust
Feb 15, 2026
8d3b9f4
gate borsh tests on std also, as they depend on both
alexanderkjall Feb 15, 2026
721edae
Merge pull request #21647 from Albab-Hasan/fix/contains-explicit-ref-…
ChayimFriedman2 Feb 15, 2026
7733f65
fix: use `ExprIsRead::Yes` for rhs of ordinary assignments
Albab-Hasan Feb 15, 2026
b022e16
Install LLVM DLL in the right place on Windows
mati865 Feb 11, 2026
40a3ca1
fix: remove unused source span
Embers-of-the-Fire Feb 15, 2026
5ad533b
Merge pull request #21649 from Albab-Hasan/fix/assignment-rhs-never-c…
ChayimFriedman2 Feb 15, 2026
a8bbacd
fix: remove unused import
Embers-of-the-Fire Feb 15, 2026
d13828b
fix: re-format the changes
Embers-of-the-Fire Feb 15, 2026
23a3e64
Merge pull request #21648 from alexanderkjall/borsh-error-compilation…
ChayimFriedman2 Feb 15, 2026
7027931
fmt
Feb 15, 2026
1f39d1f
Merge pull request #4859 from rust-lang/rustup-2026-02-15
RalfJung Feb 15, 2026
2ef5156
Prepare for merging from rust-lang/rust
invalid-email-address Feb 16, 2026
1fb6fc1
Merge ref '139651428df8' from rust-lang/rust
invalid-email-address Feb 16, 2026
0f5c221
Regression test for "unstable" traits in force-unstable builds
Zalathar Feb 16, 2026
125e69e
Suppress unstable-trait notes under `-Zforce-unstable-if-unmarked`
Zalathar Feb 16, 2026
71c9411
Merge pull request #21653 from rust-lang/rustc-pull
lnicola Feb 16, 2026
6a3a3d4
try to make cargo-miri work with bootstrap cargo
RalfJung Feb 16, 2026
e52ed9c
Merge pull request #21643 from Shourya742/2026-02-13-migrate-generate…
lnicola Feb 16, 2026
8e9a790
Add LLVM lib location to the linker search paths
mati865 Feb 15, 2026
1d1280a
Build shared LLVM lib for windows-gnullvm
mati865 Jan 28, 2026
5b72a7c
Rollup merge of #152700 - RalfJung:miri, r=RalfJung
JonathanBrouwer Feb 16, 2026
e1af7a4
Rollup merge of #152715 - lnicola:sync-from-ra, r=lnicola
JonathanBrouwer Feb 16, 2026
048bf7f
Rollup merge of #152609 - mati865:gnullvm-llvm-dll, r=bjorn3
JonathanBrouwer Feb 16, 2026
b600cd6
Rollup merge of #152206 - tshepang:misc, r=davidtwco
JonathanBrouwer Feb 16, 2026
2aef33e
Rollup merge of #152664 - Embers-of-the-Fire:fix-152601, r=GuillaumeG…
JonathanBrouwer Feb 16, 2026
98af064
Rollup merge of #152698 - Zalathar:zforce, r=jieyouxu
JonathanBrouwer Feb 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions compiler/rustc_error_codes/src/error_codes/E0570.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
The requested ABI is unsupported by the current target.

The rust compiler maintains for each target a list of unsupported ABIs on
that target. If an ABI is present in such a list this usually means that the
The Rust compiler maintains a list of unsupported ABIs for each target.
If an ABI is present in such a list, this usually means that the
target / ABI combination is currently unsupported by llvm.

If necessary, you can circumvent this check using custom target specifications.
5 changes: 2 additions & 3 deletions compiler/rustc_expand/src/config.rs
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,7 @@ pub fn features(sess: &Session, krate_attrs: &[Attribute], crate_name: Symbol) -
if let Some(f) = REMOVED_LANG_FEATURES.iter().find(|f| name == f.feature.name) {
let pull_note = if let Some(pull) = f.pull {
format!(
"; see <https://github.com/rust-lang/rust/pull/{}> for more information",
pull
"; see <https://github.com/rust-lang/rust/pull/{pull}> for more information",
)
} else {
"".to_owned()
Expand Down Expand Up @@ -123,7 +122,7 @@ pub fn features(sess: &Session, krate_attrs: &[Attribute], crate_name: Symbol) -

// If the enabled feature is unstable, record it.
if UNSTABLE_LANG_FEATURES.iter().find(|f| name == f.name).is_some() {
// When the ICE comes a standard library crate, there's a chance that the person
// When the ICE comes from a standard library crate, there's a chance that the person
// hitting the ICE may be using -Zbuild-std or similar with an untested target.
// The bug is probably in the standard library and not the compiler in that case,
// but that doesn't really matter - we want a bug report.
Expand Down
7 changes: 3 additions & 4 deletions compiler/rustc_feature/src/unstable.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,6 @@ pub struct EnabledLibFeature {
}

impl Features {
/// `since` should be set for stable features that are nevertheless enabled with a `#[feature]`
/// attribute, indicating since when they are stable.
pub fn set_enabled_lang_feature(&mut self, lang_feat: EnabledLangFeature) {
self.enabled_lang_features.push(lang_feat);
self.enabled_features.insert(lang_feat.gate_name);
Expand Down Expand Up @@ -779,8 +777,9 @@ impl Features {
}
}

/// Some features are not allowed to be used together at the same time, if
/// the two are present, produce an error.
/// Some features are not allowed to be used together at the same time.
///
/// If the two are present, produce an error.
pub const INCOMPATIBLE_FEATURES: &[(Symbol, Symbol)] = &[
// Experimental match ergonomics rulesets are incompatible with each other, to simplify the
// boolean logic required to tell which typing rules to use.
Expand Down
6 changes: 3 additions & 3 deletions compiler/rustc_lint_defs/src/builtin.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3659,10 +3659,10 @@ declare_lint! {
/// `stdcall`, `fastcall`, and `cdecl` calling conventions (or their unwind
/// variants) on targets that cannot meaningfully be supported for the requested target.
///
/// For example `stdcall` does not make much sense for a x86_64 or, more apparently, powerpc
/// For example, `stdcall` does not make much sense for a x86_64 or, more apparently, powerpc
/// code, because this calling convention was never specified for those targets.
///
/// Historically MSVC toolchains have fallen back to the regular C calling convention for
/// Historically, MSVC toolchains have fallen back to the regular C calling convention for
/// targets other than x86, but Rust doesn't really see a similar need to introduce a similar
/// hack across many more targets.
///
Expand All @@ -3689,7 +3689,7 @@ declare_lint! {
///
/// ### Explanation
///
/// On most of the targets the behaviour of `stdcall` and similar calling conventions is not
/// On most of the targets, the behaviour of `stdcall` and similar calling conventions is not
/// defined at all, but was previously accepted due to a bug in the implementation of the
/// compiler.
pub UNSUPPORTED_CALLING_CONVENTIONS,
Expand Down
5 changes: 5 additions & 0 deletions compiler/rustc_metadata/src/native_libs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,8 @@ pub fn walk_native_lib_search_dirs<R>(
// library directory instead of the self-contained directories.
// Sanitizer libraries have the same issue and are also linked by name on Apple targets.
// The targets here should be in sync with `copy_third_party_objects` in bootstrap.
// Finally there is shared LLVM library, which unlike compiler libraries, is linked by the name,
// therefore requiring the search path for the linker.
// FIXME: implement `-Clink-self-contained=+/-unwind,+/-sanitizers`, move the shipped libunwind
// and sanitizers to self-contained directory, and stop adding this search path.
// FIXME: On AIX this also has the side-effect of making the list of library search paths
Expand All @@ -71,6 +73,9 @@ pub fn walk_native_lib_search_dirs<R>(
|| sess.target.os == Os::Fuchsia
|| sess.target.is_like_aix
|| sess.target.is_like_darwin && !sess.sanitizers().is_empty()
|| sess.target.os == Os::Windows
&& sess.target.env == Env::Gnu
&& sess.target.abi == Abi::Llvm
{
f(&sess.target_tlib_path.dir, false)?;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5608,15 +5608,17 @@ pub(super) fn get_explanation_based_on_obligation<'tcx>(
None => String::new(),
};
if let ty::PredicatePolarity::Positive = trait_predicate.polarity() {
// If the trait in question is unstable, mention that fact in the diagnostic.
// But if we're building with `-Zforce-unstable-if-unmarked` then _any_ trait
// not explicitly marked stable is considered unstable, so the extra text is
// unhelpful noise. See <https://github.com/rust-lang/rust/issues/152692>.
let mention_unstable = !tcx.sess.opts.unstable_opts.force_unstable_if_unmarked
&& try { tcx.lookup_stability(trait_predicate.def_id())?.level.is_stable() }
== Some(false);
let unstable = if mention_unstable { "nightly-only, unstable " } else { "" };

format!(
"{pre_message}the {}trait `{}` is not implemented for{desc} `{}`",
if tcx.lookup_stability(trait_predicate.def_id()).map(|s| s.level.is_stable())
== Some(false)
{
"nightly-only, unstable "
} else {
""
},
"{pre_message}the {unstable}trait `{}` is not implemented for{desc} `{}`",
trait_predicate.print_modifiers_and_trait_path(),
tcx.short_string(trait_predicate.self_ty().skip_binder(), long_ty_path),
)
Expand Down
13 changes: 11 additions & 2 deletions compiler/rustc_type_ir/src/predicate.rs
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,9 @@ where
}
}

/// A complete reference to a trait. These take numerous guises in syntax,
/// A complete reference to a trait.
///
/// These take numerous guises in syntax,
/// but perhaps the most recognizable form is in a where-clause:
/// ```ignore (illustrative)
/// T: Foo<U>
Expand Down Expand Up @@ -241,7 +243,9 @@ impl ImplPolarity {
}
}

/// Polarity for a trait predicate. May either be negative or positive.
/// Polarity for a trait predicate.
///
/// May either be negative or positive.
/// Distinguished from [`ImplPolarity`] since we never compute goals with
/// "reservation" level.
#[derive(Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Debug)]
Expand Down Expand Up @@ -327,6 +331,7 @@ impl<I: Interner> ty::Binder<I, ExistentialPredicate<I>> {
}

/// An existential reference to a trait, where `Self` is erased.
///
/// For example, the trait object `Trait<'a, 'b, X, Y>` is:
/// ```ignore (illustrative)
/// exists T. T: Trait<'a, 'b, X, Y>
Expand Down Expand Up @@ -442,6 +447,7 @@ impl<I: Interner> ExistentialProjection<I> {
}

/// Extracts the underlying existential trait reference from this projection.
///
/// For example, if this is a projection of `exists T. <T as Iterator>::Item == X`,
/// then this function would return an `exists T. T: Iterator` existential trait
/// reference.
Expand Down Expand Up @@ -493,14 +499,17 @@ impl<I: Interner> ty::Binder<I, ExistentialProjection<I>> {
#[cfg_attr(feature = "nightly", derive(Encodable, Decodable, HashStable_NoContext))]
pub enum AliasTermKind {
/// A projection `<Type as Trait>::AssocType`.
///
/// Can get normalized away if monomorphic enough.
ProjectionTy,
/// An associated type in an inherent `impl`
InherentTy,
/// An opaque type (usually from `impl Trait` in type aliases or function return types)
///
/// Can only be normalized away in PostAnalysis mode or its defining scope.
OpaqueTy,
/// A free type alias that actually checks its trait bounds.
///
/// Currently only used if the type alias references opaque types.
/// Can always be normalized away.
FreeTy,
Expand Down
34 changes: 25 additions & 9 deletions compiler/rustc_type_ir/src/ty_kind.rs
Original file line number Diff line number Diff line change
Expand Up @@ -29,14 +29,17 @@ mod closure;
)]
pub enum AliasTyKind {
/// A projection `<Type as Trait>::AssocType`.
///
/// Can get normalized away if monomorphic enough.
Projection,
/// An associated type in an inherent `impl`
Inherent,
/// An opaque type (usually from `impl Trait` in type aliases or function return types)
///
/// Can only be normalized away in PostAnalysis mode or its defining scope.
Opaque,
/// A type alias that actually checks its trait bounds.
///
/// Currently only used if the type alias references opaque types.
/// Can always be normalized away.
Free,
Expand Down Expand Up @@ -99,7 +102,9 @@ pub enum TyKind<I: Interner> {
/// An array with the given length. Written as `[T; N]`.
Array(I::Ty, I::Const),

/// A pattern newtype. Takes any type and restricts its valid values to its pattern.
/// A pattern newtype.
///
/// Takes any type and restricts its valid values to its pattern.
/// This will also change the layout to take advantage of this restriction.
/// Only `Copy` and `Clone` will automatically get implemented for pattern types.
/// Auto-traits treat this as if it were an aggregate with a single nested type.
Expand All @@ -116,8 +121,9 @@ pub enum TyKind<I: Interner> {
/// `&'a mut T` or `&'a T`.
Ref(I::Region, I::Ty, Mutability),

/// The anonymous type of a function declaration/definition. Each
/// function has a unique type.
/// The anonymous type of a function declaration/definition.
///
/// Each function has a unique type.
///
/// For the function `fn foo() -> i32 { 3 }` this type would be
/// shown to the user as `fn() -> i32 {foo}`.
Expand All @@ -129,7 +135,9 @@ pub enum TyKind<I: Interner> {
/// ```
FnDef(I::FunctionId, I::GenericArgs),

/// A pointer to a function. Written as `fn() -> i32`.
/// A pointer to a function.
///
/// Written as `fn() -> i32`.
///
/// Note that both functions and closures start out as either
/// [FnDef] or [Closure] which can be then be coerced to this variant.
Expand Down Expand Up @@ -179,6 +187,7 @@ pub enum TyKind<I: Interner> {
Coroutine(I::CoroutineId, I::GenericArgs),

/// A type representing the types stored inside a coroutine.
///
/// This should only appear as part of the `CoroutineArgs`.
///
/// Unlike upvars, the witness can reference lifetimes from
Expand Down Expand Up @@ -210,6 +219,7 @@ pub enum TyKind<I: Interner> {
Tuple(I::Tys),

/// A projection, opaque type, free type alias, or inherent associated type.
///
/// All of these types are represented as pairs of def-id and args, and can
/// be normalized, so they are grouped conceptually.
Alias(AliasTyKind, AliasTy<I>),
Expand Down Expand Up @@ -253,8 +263,9 @@ pub enum TyKind<I: Interner> {
/// inside of the type.
Infer(InferTy),

/// A placeholder for a type which could not be computed; this is
/// propagated to avoid useless error messages.
/// A placeholder for a type which could not be computed.
///
/// This is propagated to avoid useless error messages.
Error(I::ErrorGuaranteed),
}

Expand Down Expand Up @@ -282,7 +293,9 @@ impl<I: Interner> TyKind<I> {
}

/// Returns `true` when the outermost type cannot be further normalized,
/// resolved, or instantiated. This includes all primitive types, but also
/// resolved, or instantiated.
///
/// This includes all primitive types, but also
/// things like ADTs and trait objects, since even if their arguments or
/// nested types may be further simplified, the outermost [`ty::TyKind`] or
/// type constructor remains the same.
Expand Down Expand Up @@ -481,6 +494,7 @@ impl<I: Interner> AliasTy<I> {
}

/// Extracts the underlying trait reference and own args from this projection.
///
/// For example, if this is a projection of `<T as StreamingIterator>::Item<'a>`,
/// then this function would return a `T: StreamingIterator` trait reference and
/// `['a]` as the own args.
Expand All @@ -490,6 +504,7 @@ impl<I: Interner> AliasTy<I> {
}

/// Extracts the underlying trait reference from this projection.
///
/// For example, if this is a projection of `<T as Iterator>::Item`,
/// then this function would return a `T: Iterator` trait reference.
///
Expand Down Expand Up @@ -593,8 +608,9 @@ pub enum InferTy {
FloatVar(FloatVid),

/// A [`FreshTy`][Self::FreshTy] is one that is generated as a replacement
/// for an unbound type variable. This is convenient for caching etc. See
/// `TypeFreshener` for more details.
/// for an unbound type variable.
///
/// This is convenient for caching etc. See `TypeFreshener` for more details.
///
/// Compare with [`TyVar`][Self::TyVar].
FreshTy(u32),
Expand Down
12 changes: 6 additions & 6 deletions rust-bors.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ labels_blocking_approval = [
"S-waiting-on-t-rustdoc-frontend",
"S-waiting-on-t-clippy",
# PR manually set to blocked
"S-blocked"
"S-blocked",
]

# If CI runs quicker than this duration, consider it to be a failure
Expand All @@ -41,30 +41,30 @@ approved = [
"-S-waiting-on-author",
"-S-waiting-on-crater",
"-S-waiting-on-review",
"-S-waiting-on-team"
"-S-waiting-on-team",
]
unapproved = [
"+S-waiting-on-author",
"-S-blocked",
"-S-waiting-on-bors",
"-S-waiting-on-crater",
"-S-waiting-on-review",
"-S-waiting-on-team"
"-S-waiting-on-team",
]
try_failed = [
"+S-waiting-on-author",
"-S-waiting-on-review",
"-S-waiting-on-crater"
"-S-waiting-on-crater",
]
auto_build_succeeded = [
"+merged-by-bors",
"-S-waiting-on-bors"
"-S-waiting-on-bors",
]
auto_build_failed = [
"+S-waiting-on-review",
"-S-blocked",
"-S-waiting-on-bors",
"-S-waiting-on-author",
"-S-waiting-on-crater",
"-S-waiting-on-team"
"-S-waiting-on-team",
]
2 changes: 1 addition & 1 deletion src/bootstrap/src/core/build_steps/dist.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2557,7 +2557,7 @@ pub fn maybe_install_llvm_target(builder: &Builder<'_>, target: TargetSelection,
),
)]
pub fn maybe_install_llvm_runtime(builder: &Builder<'_>, target: TargetSelection, sysroot: &Path) {
let dst_libdir = sysroot.join(builder.sysroot_libdir_relative(Compiler::new(1, target)));
let dst_libdir = sysroot.join(builder.libdir_relative(Compiler::new(1, target)));
// We do not need to copy LLVM files into the sysroot if it is not
// dynamically linked; it is already included into librustc_llvm
// statically.
Expand Down
2 changes: 2 additions & 0 deletions src/ci/github-actions/jobs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -712,6 +712,7 @@ auto:
--target=aarch64-pc-windows-gnullvm,i686-pc-windows-gnullvm
--enable-full-tools
--enable-profiler
--enable-llvm-link-shared
DIST_REQUIRE_ALL_TOOLS: 1
CODEGEN_BACKENDS: llvm,cranelift
CC_i686_pc_windows_gnullvm: i686-w64-mingw32-clang
Expand All @@ -724,6 +725,7 @@ auto:
--build=x86_64-pc-windows-gnullvm
--enable-full-tools
--enable-profiler
--enable-llvm-link-shared
DIST_REQUIRE_ALL_TOOLS: 1
CODEGEN_BACKENDS: llvm,cranelift
<<: *job-windows
Expand Down
Loading
Loading