about summary refs log tree commit diff
path: root/compiler/rustc_symbol_mangling/src/v0.rs
AgeCommit message (Collapse)AuthorLines
2023-12-10Revert "Don't print host effect param in pretty path_generic_args"Deadbeef-2/+0
This reverts commit f1bf874fb13703d706fc8184407c6df12555d8e9.
2023-12-09Don't print host effect param in pretty path_generic_argsMichael Goulet-0/+2
2023-12-03rustc: Harmonize `DefKind` and `DefPathData`Vadim Petrochenkov-3/+2
`DefPathData::(ClosureExpr,ImplTrait)` are renamed to match `DefKind::(Closure,OpaqueTy)`. `DefPathData::ImplTraitAssocTy` is replaced with `DefPathData::TypeNS(kw::Empty)` because both correspond to `DefKind::AssocTy`. It's possible that introducing `(DefKind,DefPathData)::AssocOpaqueTy` could be a better solution, but that would be a much more invasive change. Const generic parameters introduced for effects are moved from `DefPathData::TypeNS` to `DefPathData::ValueNS`, because constants are values. `DefPathData` is no longer passed to `create_def` functions to avoid redundancy.
2023-11-21Fix some unnecessary castsNilstrieb-1/+1
`x clippy compiler -Aclippy::all -Wclippy::unnecessary_cast --fix` with some manual review to ensure every fix is correct.
2023-11-13rename `ReLateBound` to `ReBound`lcnr-2/+2
other changes: - `Region::new_late_bound` -> `Region::new_bound` - `Region::is_late_bound` -> `Region::is_bound`
2023-10-21Make `ty::print::Printer` take `&mut self` instead of `self`Nilstrieb-90/+91
This simplifies the code by removing all the `self` assignments and makes the flow of data clearer - always into the printer. Especially in v0 mangling, which already used `&mut self` in some places, it gets a lot more uniform.
2023-10-20s/Generator/Coroutine/Oli Scherer-2/+2
2023-10-17Remove `Printer::Error`Nilstrieb-22/+20
It's always a `fmt::Error` except in some cases where it was `!`, but we're not really winning anything in that case.
2023-10-17Remove "subprinter" types from `Printer`Nilstrieb-20/+14
These are `Self` in almost all printers except one, which can just store the state as a field instead. This simplifies the printer and allows for further simplifications, for example using `&mut self` instead of passing around the printer.
2023-09-24Remove span from BrAnon.Camille GILLOT-1/+1
2023-09-23Remove GeneratorWitness and rename GeneratorWitnessMIR.Camille GILLOT-2/+1
2023-09-20the Const::eval_bits methods don't need to be given the TyRalf Jung-1/+1
2023-09-13make the eval() functions on our const types return the resulting valueRalf Jung-1/+1
2023-08-02avoid 'miri' when refering to the shared interpreterRalf Jung-1/+2
2023-07-14refactor(rustc_middle): Substs -> GenericArgMahdi Dibaiee-24/+24
2023-07-05Move `TyCtxt::mk_x` to `Ty::new_x` where applicableBoxy-1/+1
2023-07-05Deal with falloutBoxy-1/+1
2023-07-04nitBoxy-0/+1
Co-authored-by: lcnr <rust@lcnr.de>
2023-07-04Replace `mk_const` with `Const::new_x` methodsBoxy-1/+1
2023-06-16Add `AliasKind::Weak` for type aliases.Oli Scherer-0/+1
Only use it when the type alias contains an opaque type. Also does wf-checking on such type aliases.
2023-05-29EarlyBinder::new -> EarlyBinder::bindlcnr-1/+1
2023-05-28Replace EarlyBinder(x) with EarlyBinder::new(x)Kyle Matsuda-1/+1
2023-05-22properly pretty-print inherent projectionsLeón Orell Valerian Liehr-1/+2
2023-04-18Store hashes in special types so they aren't accidentally encoded as numbersBen Kimock-1/+1
2023-04-06Remove index from BrAnonJack Huey-21/+12
2023-03-29Support TLS access into dylibs on WindowsJohn Kåre Alsaker-0/+1
2023-02-22Remove type-traversal trait aliasesAlan Egerton-2/+3
2023-02-19Add associated_items_for_impl_trait_in_trait querySantiago Pastorino-0/+1
2023-02-13Pre-intern some commonly used type variables.Nicholas Nethercote-1/+1
This requires some rearrangement of plumbing, such as adding `mk_fresh_{,int_,float_}ty` and removing `mk_ty_infer`.
2023-01-27Introduce GeneratorWitnessMIR.Camille GILLOT-0/+1
2023-01-08Add type flags support for Ty and Const late-bound regionsMichael Goulet-0/+1
2023-01-05Fix `uninlined_format_args` for some compiler cratesnils-2/+2
Convert all the crates that have had their diagnostic migration completed (except save_analysis because that will be deleted soon and apfloat because of the licensing problem).
2022-12-14Ensure no one constructs `AliasTy`s themselvesOli Scherer-1/+1
2022-12-13Combine identical alias armsMichael Goulet-2/+1
2022-12-13Combine projection and opaque into aliasMichael Goulet-2/+2
2022-12-13squash OpaqueTy and ProjectionTy into AliasTyMichael Goulet-2/+2
2022-12-13ProjectionTy.item_def_id -> ProjectionTy.def_idMichael Goulet-2/+2
2022-12-13Use ty::OpaqueTy everywhereMichael Goulet-1/+1
2022-11-26Rollup merge of #104786 - WaffleLapkin:amp-mut-help, r=compiler-errorsGuillaume Gomez-1/+1
Use the power of adding helper function to simplify code w/ `Mutability` r? `@compiler-errors`
2022-11-25Add empty ConstKind::Abstractkadmin-0/+1
Initial pass at expr/abstract const/s Address comments Switch to using a list instead of &[ty::Const], rm `AbstractConst` Remove try_unify_abstract_consts Update comments Add edits Recurse more More edits Prevent equating associated consts Move failing test to ui Changes this test from incremental to ui, and mark it as failing and a known bug. Does not cause the compiler to ICE, so should be ok.
2022-11-23Add `Mutability::{is_mut,is_not}`Maybe Waffle-1/+1
2022-11-21Unreserve braced enum variants in value namespaceVadim Petrochenkov-4/+4
2022-11-19drive-by: PolyExistentialPredicateMichael Goulet-1/+1
2022-11-07Add an optional Span to BrAnon and use it to print better error for HRTB ↵Jack Huey-2/+2
error from generator interior
2022-11-04Refactor tcx mk_const parameters.Mateusz-2/+1
2022-10-04It's not about types or consts, but the lack of regionsOli Scherer-1/+1
2022-09-19remove the `Subst` trait, always use `EarlyBinder`lcnr-1/+1
2022-09-13Address code review commentsEric Holk-2/+6
2022-09-12Plumb dyn trait representation through ty::DynamicEric Holk-1/+1
2022-09-05Pack `Term` in the same way as `GenericArg`.Nicholas Nethercote-3/+3
This shrinks the `PredicateS` type, which is instanted frequently.