about summary refs log tree commit diff
path: root/compiler/rustc_ty_utils/src/lib.rs
AgeCommit message (Collapse)AuthorLines
2023-03-11Simplify message pathsest31-1/+1
This makes it easier to open the messages file while developing on features. The commit was the result of automatted changes: for p in compiler/rustc_*; do mv $p/locales/en-US.ftl $p/messages.ftl; rmdir $p/locales; done for p in compiler/rustc_*; do sed -i "s#\.\./locales/en-US.ftl#../messages.ftl#" $p/src/lib.rs; done
2023-02-22errors: generate typed identifiers in each crateDavid Wood-0/+4
Instead of loading the Fluent resources for every crate in `rustc_error_messages`, each crate generates typed identifiers for its own diagnostics and creates a static which are pulled together in the `rustc_driver` crate and provided to the diagnostic emitter. Signed-off-by: David Wood <david.wood@huawei.com>
2023-01-18Also remove `#![feature(control_flow_enum)]` where possibleScott McMurray-1/+0
2022-12-08Move has_structural_eq_impls provider to rustc_ty_utilsMichael Goulet-0/+2
2022-10-07Rewrite representabilityCameron Steffen-0/+1
2022-10-06Rollup merge of #98496 - BoxyUwU:instancers_bad_equality, r=lcnrMatthias Krüger-0/+1
make `compare_const_impl` a query and use it in `instance.rs` Fixes #88365 the bug in #88365 was caused by some `instance.rs` code using the `PartialEq` impl on `Ty` to check that the type of the associated const in an impl is the same as the type of the associated const in the trait definition. This was wrong for two reasons: - the check typeck does is that the impl type is a subtype of the trait definition's type (see `mismatched_impl_ty_2.rs` which [was ICEing](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=f6d60ebe6745011f0d52ab2bc712025d) before this PR on stable) - it assumes that if two types are equal then the `PartialEq` impl will reflect that which isnt true for higher ranked types or type level constants when `feature(generic_const_exprs)` is enabled (see `mismatched_impl_ty_3.rs` for higher ranked types which was [ICEing on stable](https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=d7af131a655ed515b035624626c62c71)) r? `@lcnr`
2022-10-03Move utils from rustc_middle to rustc_ty_utilsCameron Steffen-2/+5
2022-09-30make query take `(LocalDefId, DefId)`Boxy-0/+1
2022-09-26remove cfg(bootstrap)Pietro Albini-1/+0
2022-09-15Only enable the let_else feature on bootstrapest31-1/+1
On later stages, the feature is already stable. Result of running: rg -l "feature.let_else" compiler/ src/librustdoc/ library/ | xargs sed -s -i "s#\\[feature.let_else#\\[cfg_attr\\(bootstrap, feature\\(let_else\\)#"
2022-08-26Migrate rustc_ty_utils to use SessionDiagnosticPeter Medus-0/+3
2022-08-17implied_bounds: clarify our assumptionslcnr-0/+2
2022-07-12Move abstract const to rustc_middle::tykadmin-0/+2
2022-06-28Make consts mod privateDominik Stolz-1/+1
2022-06-28Improve pretty printing of valtrees for referencesDominik Stolz-0/+2
2022-06-03Fully stabilize NLLJack Huey-1/+0
2022-02-19Adopt let else in more placesest31-0/+1
2022-01-07Move associated_item* providers to their own moduleMatthew Jasper-0/+2
2021-10-02Remove various unused feature gatesbjorn3-2/+0
2021-07-03Use `BoundVarsCollector` for nowYuki Okushi-0/+1
2021-04-27move `representability` out of `rustc_middle`lcnr-0/+1
2021-02-23yeetEllen-0/+2
2020-11-19Move `rustc_ty` -> `rustc_ty_utils`LeSeulArtichaut-0/+28