about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/ty/trait_def.rs
AgeCommit message (Collapse)AuthorLines
2025-08-04Check for rustc_has_incoherent_inherent_impls in incoherent_impls query.Camille GILLOT-0/+7
2025-07-17parse `const trait Trait`Deadbeef-1/+1
2025-04-02Remove a function that has no necessary callersOli Scherer-15/+0
2025-04-02Remove a `hir_*` helper that was just forwarding to a queryOli Scherer-1/+1
2025-02-22Greatly simplify lifetime captures in edition 2024Michael Goulet-2/+2
2025-02-18Move methods from `Map` to `TyCtxt`, part 2.Nicholas Nethercote-1/+1
Continuing the work started in #136466. Every method gains a `hir_` prefix, though for the ones that already have a `par_` or `try_par_` prefix I added the `hir_` after that.
2025-02-17Move some `Map` methods onto `TyCtxt`.Nicholas Nethercote-2/+2
The end goal is to eliminate `Map` altogether. I added a `hir_` prefix to all of them, that seemed simplest. The exceptions are `module_items` which became `hir_module_free_items` because there was already a `hir_module_items`, and `items` which became `hir_free_items` for consistency with `hir_module_free_items`.
2024-12-20split up `#[rustc_deny_explicit_impl]` attributeLukas Markeffsky-2/+2
This commit splits the `#[rustc_deny_explicit_impl(implement_via_object = ...)]` attribute into two attributes `#[rustc_deny_explicit_impl]` and `#[rustc_do_not_implement_via_object]`. This allows us to have special traits that can have user-defined impls but do not have the automatic trait impl for trait objects (`impl Trait for dyn Trait`).
2024-09-24Separate collection of crate-local inherent impls from error reportingMichael Goulet-17/+3
2024-09-02Use `DeepRejectCtxt` to quickly reject `ParamEnv` candidatesBryanskiy-5/+7
2024-07-29Reformat `use` declarations.Nicholas Nethercote-3/+2
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-07-18Move query providersMichael Goulet-6/+33
2024-07-09Auto merge of #127200 - fee1-dead-contrib:trait_def_const_trait, ↵bors-0/+3
r=compiler-errors Add `constness` to `TraitDef` Second attempt at fixing the regression @ https://github.com/rust-lang/rust/pull/120639#issuecomment-2198373716 r? project-const-traits
2024-07-07Add fundamental to trait defMichael Goulet-1/+6
2024-07-03Add `constness` to `TraitDef`Deadbeef-0/+3
2024-06-06Revert "Rollup merge of #124976 - petrochenkov:usedcrates, r=oli-obk"Rémy Rakic-2/+2
This reverts commit eda4a35f365535af72118118a3597edf5a13c12d, reversing changes made to eb6b35b5bcb3c2a594cb29cd478aeb2893f49d30.
2024-05-23Auto merge of #125434 - nnethercote:rm-more-extern-tracing, r=jackh726bors-0/+1
Remove more `#[macro_use] extern crate tracing` Because explicit importing of macros via use items is nicer (more standard and readable) than implicit importing via `#[macro_use]`. Continuing the work from #124511 and #124914. r? `@jackh726`
2024-05-23Remove `#[macro_use] extern crate tracing` from `rustc_middle`.Nicholas Nethercote-0/+1
2024-05-22rustc: Use `tcx.used_crates(())` moreVadim Petrochenkov-2/+2
And explain when it should be used.
2024-05-20Implement BOXED_SLICE_INTO_ITERMichael Goulet-1/+6
2024-05-17Rename Unsafe to SafetySantiago Pastorino-1/+1
2024-04-29Remove `extern crate rustc_macros` from `rustc_middle`.Nicholas Nethercote-1/+1
2024-04-25Remove special-casing for SimplifiedType for next solverMichael Goulet-23/+4
2024-01-17Make crate_inherent_impls fallible and stop using `track_errors` for itOli Scherer-3/+15
2024-01-11Register even erroneous implsOli Scherer-4/+0
Otherwise the specialization graph fails to pick it up, even though other code assumes that all impl blocks have an entry in the specialization graph.
2023-09-10Point out if a local trait has no implementationsMichael Goulet-0/+4
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-1/+1
2023-06-20Merge attrs, better validationMichael Goulet-4/+6
2023-06-20Make rustc_deny_explicit_impl only local as wellMichael Goulet-0/+3
2023-06-20Add rustc_do_not_implement_via_objectMichael Goulet-0/+5
2023-04-19Remove find_map_relevant_implMichael Goulet-44/+18
2023-03-23Don't split up TreatProjections and TreatParams anymoreMichael Goulet-15/+11
2023-03-13Better names?Michael Goulet-6/+6
2023-03-13Treat projections with infer as placeholder during fast reject in new solverMichael Goulet-17/+41
2023-03-05Improve documentation and argument naming of some TyCtxt methodsGuillaume Gomez-13/+20
2023-02-22Remove type-traversal trait aliasesAlan Egerton-1/+1
2023-02-16remove bound_type_of query; make type_of return EarlyBinder; change type_of ↵Kyle Matsuda-1/+1
in metadata
2023-02-16change usages of type_of to bound_type_ofKyle Matsuda-1/+1
2023-02-14add a `#[rustc_coinductive]` attributelcnr-22/+9
2022-11-27Prefer doc comments over `//`-comments in compilerMaybe Waffle-2/+2
2022-09-01tracing::instrument cleanupOli Scherer-1/+0
2022-07-19Add E0790 as more specific variant of E0283aticu-0/+4
2022-07-06Update TypeVisitor pathsAlan Egerton-1/+1
2022-05-18fix `simplify_type`lcnr-5/+5
2022-03-31Create trait_def table.Camille GILLOT-11/+2
2022-03-30rework implementation for inherent impls for builtin typeslcnr-0/+18
2022-03-03Rollup merge of #94057 - lcnr:simplify_type-uwu, r=nikomatsakisMatthias Krüger-6/+6
improve comments for `simplify_type` Should now correctly describe what's going on. Experimented with checking the invariant for projections but that ended up requiring fairly involved changes. I assume that it is not possible to get unsoundness here, at least for now and I can pretty much guarantee that it's impossible to trigger it by accident. r? `````@nikomatsakis````` cc #92721
2022-03-02rename ErrorReported -> ErrorGuaranteedmark-2/+2
2022-02-21update docs for `simplify_type`lcnr-6/+6
2022-02-18Rollup merge of #93634 - matthiaskrgr:clippy_complexity_jan_2022, r=oli-obkMatthias Krüger-1/+1
compiler: clippy::complexity fixes useless_format map_flatten useless_conversion needless_bool filter_next clone_on_copy needless_option_as_deref