about summary refs log tree commit diff
path: root/compiler/rustc_middle/src/ty/mod.rs
AgeCommit message (Collapse)AuthorLines
2024-07-18Avoid unnecessary sorting of traitsMichael Goulet-3/+2
2024-07-16Setup ty::Const functions for `ConstArg`Noah Lev-1/+1
2024-07-11Auto merge of #127575 - chenyukang:yukang-fix-struct-fields-ice, ↵bors-19/+38
r=compiler-errors Avoid "no field" error and ICE on recovered ADT variant Fixes https://github.com/rust-lang/rust/issues/126744 Fixes https://github.com/rust-lang/rust/issues/126344, a more general fix compared with https://github.com/rust-lang/rust/pull/127426 r? `@oli-obk` From `@compiler-errors` 's comment https://github.com/rust-lang/rust/pull/127502#discussion_r1669538204 Seems most of the ADTs don't have taint, so maybe it's not proper to change `TyCtxt::type_of` query.
2024-07-11report pat no field error no recoverd struct variantyukang-19/+38
2024-07-09Auto merge of #127200 - fee1-dead-contrib:trait_def_const_trait, ↵bors-1/+6
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-07Uplift elaborationMichael Goulet-0/+1
2024-07-03Add `constness` to `TraitDef`Deadbeef-1/+6
2024-06-28implement new effects desugaringDeadbeef-1/+11
2024-06-18Uplift the new trait solverMichael Goulet-0/+10
2024-06-17Rollup merge of #126567 - compiler-errors:instance-kind, r=oli-obk,lcnrMatthias Krüger-17/+17
Rename `InstanceDef` -> `InstanceKind` Renames `InstanceDef` to `InstanceKind`. The `Def` here is confusing, and makes it hard to distinguish `Instance` and `InstanceDef`. `InstanceKind` makes this more obvious, since it's really just describing what *kind* of instance we have. Not sure if this is large enough to warrant a types team MCP -- it's only 53 files. I don't personally think it does, but happy to write one if anyone disagrees. cc ``@rust-lang/types`` r? types
2024-06-16Rename InstanceDef -> InstanceKindMichael Goulet-17/+17
2024-06-16Uplift OpaqueTypeKey too, use it in responseMichael Goulet-39/+1
2024-06-15Rollup merge of #126354 - compiler-errors:variance, r=lcnrMatthias Krüger-1/+0
Use `Variance` glob imported variants everywhere Fully commit to using the globbed variance. Could be convinced the other way, and change this PR to not use the globbed variants anywhere, but I'd rather we do one or the other. r? lcnr
2024-06-13Rework most of structural_traits to be Interner-agnosticMichael Goulet-0/+2
2024-06-12Use Variance glob import everywhereMichael Goulet-1/+0
2024-06-11Remove DebugWithInfcxMichael Goulet-1/+0
2024-06-06Uplift TypeRelation and RelateMichael Goulet-2/+2
2024-06-06Uplift TypeErrorMichael Goulet-32/+0
2024-06-05Fully implement `ConstArgHasType`Boxy-0/+24
2024-06-05Basic removal of `Ty` from places (boring)Boxy-2/+2
2024-06-04Rollup merge of #125968 - BoxyUwU:shrink_ty_expr, r=oli-obkMichael Goulet-1/+1
Store the types of `ty::Expr` arguments in the `ty::Expr` Part of #125958 In attempting to remove the `ty` field on `Const` it will become necessary to store the `Ty<'tcx>` inside of `Expr<'tcx>`. In order to do this without blowing up the size of `ConstKind`, we start storing the type/const args as `GenericArgs` r? `@oli-obk`
2024-06-04Downsize `ty::Expr`Boxy-1/+1
2024-06-03Align Term methods with GenericArg methodsMichael Goulet-2/+10
2024-06-01Uplift TypeRelation and RelateMichael Goulet-4/+2
2024-05-29Start implementing needs_async_drop and relatedDaria Sukhonina-0/+9
2024-05-26Uplift EarlyBinderMichael Goulet-3/+3
2024-05-26Give EarlyBinder a tcx parameterMichael Goulet-1/+1
We are gonna need it to uplift EarlyBinder
2024-05-23Remove `#[macro_use] extern crate tracing` from `rustc_middle`.Nicholas Nethercote-0/+1
2024-05-22Auto merge of #125326 - ↵bors-0/+5
weiznich:move/do_not_recommend_to_diganostic_namespace, r=compiler-errors Move `#[do_not_recommend]` to the `#[diagnostic]` namespace This commit moves the `#[do_not_recommend]` attribute to the `#[diagnostic]` namespace. It still requires `#![feature(do_not_recommend)]` to work. r? `@compiler-errors`
2024-05-21Move `#[do_not_recommend]` to the `#[diagnostic]` namespaceGeorg Semmler-0/+5
This commit moves the `#[do_not_recommend]` attribute to the `#[diagnostic]` namespace. It still requires `#![feature(do_not_recommend)]` to work.
2024-05-20Uplift TermKindMichael Goulet-11/+20
2024-05-19make `Debug` impl for `Term` simplerWaffle Lapkin-8/+4
2024-05-19Auto merge of #125230 - compiler-errors:uplift-query-stuff, r=lcnrbors-8/+7
Uplift more query stuff - Uplift various query input/response internals - Uplift the `ProofTree` structures and make the `ProofTreeBuilder` stuff (mostly) generic over `Interner` - Stop using `TyCtxt::def_kind` in favor of `AliasTerm::kind` r? lcnr
2024-05-18Uplift GenericArgKind, CanonicalVarValues, QueryInputMichael Goulet-8/+7
and make NestedGoals generic
2024-05-18Auto merge of #125077 - spastorino:add-new-fnsafety-enum2, r=jackh726bors-1/+1
Rename Unsafe to Safety Alternative to #124455, which is to just have one Safety enum to use everywhere, this opens the posibility of adding `ast::Safety::Safe` that's useful for unsafe extern blocks. This leaves us today with: ```rust enum ast::Safety { Unsafe(Span), Default, // Safe (going to be added for unsafe extern blocks) } enum hir::Safety { Unsafe, Safe, } ``` We would convert from `ast::Safety::Default` into the right Safety level according the context.
2024-05-17Rename Unsafe to SafetySantiago Pastorino-1/+1
2024-05-16Uplift Goal to rustc_type_irMichael Goulet-6/+7
2024-05-16Rename ToPredicate for UpcastMichael Goulet-1/+1
2024-05-13Uplift AliasTyMichael Goulet-8/+8
2024-05-13Apply nitsMichael Goulet-1/+0
2024-05-13split out AliasTy -> AliasTermMichael Goulet-8/+8
2024-05-11And `ImplPolarity` tooMichael Goulet-24/+0
2024-05-11Apply nits, uplift ExistentialPredicate tooMichael Goulet-7/+7
2024-05-11Uplift `TraitPredicate`Michael Goulet-31/+0
2024-05-10Lift `TraitRef` into `rustc_type_ir`Michael Goulet-4/+4
2024-04-30Give items related to issue 33140 a more meaningful nameLeón Orell Valerian Liehr-22/+21
2024-04-29Remove `extern crate bitflags` from a couple of crates.Nicholas Nethercote-1/+1
2024-04-29Remove `extern crate rustc_data_structures` from numerous crates.Nicholas Nethercote-1/+1
2024-04-29Remove `extern crate rustc_macros` from `rustc_middle`.Nicholas Nethercote-1/+3
2024-04-25debuginfo: Stabilize `-Z debug-macros`, `-Z collapse-macro-debuginfo` and ↵Vadim Petrochenkov-17/+1
`#[collapse_debuginfo]` `-Z debug-macros` is "stabilized" by enabling it by default and removing. `-Z collapse-macro-debuginfo` is stabilized as `-C collapse-macro-debuginfo`. It now supports all typical boolean values (`parse_opt_bool`) in addition to just yes/no. Default value of `collapse_debuginfo` was changed from `false` to `external` (i.e. collapsed if external, not collapsed if local). `#[collapse_debuginfo]` attribute without a value is no longer supported to avoid guessing the default.