| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2022-11-23 | Auto merge of #103947 - camsteffen:place-clones, r=cjgillot | bors | -150/+134 | |
| Reduce `PlaceBuilder` cloning Some API tweaks with an eye towards reducing clones. | ||||
| 2022-11-22 | Rollup merge of #104669 - LeSeulArtichaut:88015-if-let-guard-bindings, ↵ | Dylan DPC | -17/+20 | |
| r=cjgillot Only declare bindings for if-let guards once per arm Currently, each candidate for a match arm uses separate locals for the bindings in the if-let guard, causing problems (#88015) when those branches converge in the arm body. Fixes #88015 (🤞) | ||||
| 2022-11-21 | merge self type and substs in `trait_method` | Oli Scherer | -5/+4 | |
| 2022-11-21 | Some cleanup around trait_method lookup | Oli Scherer | -7/+6 | |
| 2022-11-21 | Allow iterators instead of requiring slices that will get turned into iterators | Oli Scherer | -1/+1 | |
| 2022-11-21 | Only declare bindings for if-let guards once per arm | Léo Lanteri Thauvin | -17/+20 | |
| 2022-11-20 | Factor out conservative_is_privately_uninhabited | Cameron Steffen | -3/+3 | |
| 2022-11-20 | Change to Ty::is_inhabited_from | Cameron Steffen | -9/+4 | |
| 2022-11-18 | rename to `string_deref_patterns` | Deadbeef | -2/+2 | |
| 2022-11-17 | Remove more PlaceBuilder clones | Cameron Steffen | -21/+26 | |
| 2022-11-17 | Replace into_place with to_place | Cameron Steffen | -34/+20 | |
| 2022-11-17 | Replace try_upvars_resolved with try_to_place | Cameron Steffen | -51/+35 | |
| 2022-11-17 | Introduce PlaceBuilder::resolve_upvar by ref | Cameron Steffen | -63/+72 | |
| 2022-11-17 | Minimal implementation of implicit deref patterns | Deadbeef | -0/+33 | |
| 2022-11-13 | fix some typos in comments | cui fliter | -1/+1 | |
| Signed-off-by: cui fliter <imcusg@gmail.com> | ||||
| 2022-11-10 | Use const_error_with_guaranteed more | Michael Goulet | -6/+25 | |
| 2022-11-08 | Add support for custom MIR parsing | Jakob Degen | -0/+489 | |
| 2022-11-05 | Rollup merge of #103984 - V0ldek:103974-refactor-mk_const, r=BoxyUwU | Matthias Krüger | -2/+1 | |
| Refactor tcx mk_const parameters. Unroll the `ty::ConstS` parameter to `TyCtxt::mk_const` into separate `ty::ConstKind` and `Ty` parameters. Signature change is in: https://github.com/V0ldek/rust/blob/c97fd8183a98d6a89b8fc2e02eb068298e6fb7dc/compiler/rustc_middle/src/ty/context.rs#L2234 and https://github.com/V0ldek/rust/blob/c97fd8183a98d6a89b8fc2e02eb068298e6fb7dc/compiler/rustc_middle/src/ty/context.rs#L2572-L2575 the rest is callsites. Closes #103974 r? `@oli-obk` | ||||
| 2022-11-04 | Refactor tcx mk_const parameters. | Mateusz | -2/+1 | |
| 2022-11-03 | Cleanup bind_pattern args | Cameron Steffen | -37/+14 | |
| 2022-10-31 | Remove bounds check with enum cast | ouz-a | -1/+50 | |
| 2022-10-27 | Accept `TyCtxt` instead of `TyCtxtAt` in `Ty::is_*` functions | Maybe Waffle | -3/+2 | |
| Functions in answer: - `Ty::is_freeze` - `Ty::is_sized` - `Ty::is_unpin` - `Ty::is_copy_modulo_regions` | ||||
| 2022-10-22 | Introduce InhabitedPredicate | Cameron Steffen | -8/+4 | |
| 2022-10-13 | Ensure enum cast moves | Gary Guo | -2/+2 | |
| 2022-10-09 | Skip chained OpaqueCast when building captures. | Camille GILLOT | -8/+7 | |
| 2022-10-08 | Rollup merge of #102675 - ouz-a:mir-technical-debt, r=oli-obk | Matthias Krüger | -11/+2 | |
| Remove `mir::CastKind::Misc` As discussed in #97649 `mir::CastKind::Misc` is not clear, this PR addresses that by creating a new enum variant for every valid cast. r? ````@oli-obk```` | ||||
| 2022-10-07 | Change InferCtxtBuilder from enter to build | Cameron Steffen | -67/+61 | |
| 2022-10-07 | Remove TypeckResults from InferCtxt | Cameron Steffen | -2/+2 | |
| 2022-10-06 | Remove `mir::CastKind::Misc` | ouz-a | -11/+2 | |
| 2022-10-05 | fix doc and dedup diverge_cleanup | Ding Xiang Fei | -23/+4 | |
| 2022-09-30 | apply suggestion | X | -1/+1 | |
| Co-authored-by: SafariMonkey <charlton.rodda@gmail.com> | ||||
| 2022-09-28 | fix unwind drop glue for if-then scopes | Ding Xiang Fei | -14/+46 | |
| 2022-09-25 | Fix scoping for let-else. | Camille GILLOT | -16/+27 | |
| 2022-09-23 | rename Unevaluated to UnevaluatedConst | b-naber | -2/+4 | |
| 2022-09-22 | introduce mir::Unevaluated | b-naber | -2/+3 | |
| 2022-09-20 | Auto merge of #99806 - oli-obk:unconstrained_opaque_type, r=estebank | bors | -147/+146 | |
| Allow patterns to constrain the hidden type of opaque types fixes #96572 reverts a revert as original PR was a perf regression that was fixed by reverting it: https://github.com/rust-lang/rust/pull/99368#issuecomment-1186587864) TODO: * check if https://github.com/rust-lang/rust/issues/99685 is avoided | ||||
| 2022-09-19 | Auto merge of #101894 - ↵ | bors | -9/+33 | |
| dingxiangfei2009:let-else-avoid-duplicate-storage-live, r=oli-obk Avoid duplicating StorageLive in let-else cc `@est31` Fix #101867 Fix #101932 #101410 introduced directives to activate storages of bindings in let-else earlier. However, since it is using the machinery of `match` and friends for pattern matching and binding, those storages are activated for the second time. This PR adjusts this behavior and avoid the duplicated activation for let-else statements. | ||||
| 2022-09-19 | Document projection condition | Oli Scherer | -0/+3 | |
| 2022-09-19 | remove the `Subst` trait, always use `EarlyBinder` | lcnr | -1/+1 | |
| 2022-09-18 | avoid duplicating StorageLive in let-else | Ding Xiang Fei | -9/+33 | |
| 2022-09-17 | Auto merge of #98588 - b-naber:valtrees-cleanup, r=lcnr | bors | -11/+6 | |
| Use only ty::Unevaluated<'tcx, ()> in type system r? `@lcnr` | ||||
| 2022-09-16 | Only generate `OpaqueCast` for opaque types | Oli Scherer | -22/+46 | |
| 2022-09-16 | Revert "Revert "Rollup merge of #98582 - oli-obk:unconstrained_opaque_type, ↵ | Oli Scherer | -6/+18 | |
| r=estebank"" This reverts commit 4a742a691e7dd2522bad68b86fe2fd5a199d5561. | ||||
| 2022-09-16 | Merge two arguments into one | Oli Scherer | -127/+87 | |
| 2022-09-15 | add diagram to explain the MIR structure | Ding Xiang Fei | -0/+53 | |
| 2022-09-15 | add explanatory note | Ding Xiang Fei | -0/+15 | |
| 2022-09-15 | supplement for the missing or incomplete comments | Ding Xiang Fei | -1/+4 | |
| 2022-09-15 | reorder nesting scopes and declare bindings without drop schedule | Ding Xiang Fei | -56/+101 | |
| 2022-09-14 | Auto merge of #101212 - eholk:dyn-star, r=compiler-errors | bors | -0/+2 | |
| Initial implementation of dyn* This PR adds extremely basic and incomplete support for [dyn*](https://smallcultfollowing.com/babysteps//blog/2022/03/29/dyn-can-we-make-dyn-sized/). The goal is to get something in tree behind a flag to make collaboration easier, and also to make sure the implementation so far is not unreasonable. This PR does quite a few things: * Introduce `dyn_star` feature flag * Adds parsing for `dyn* Trait` types * Defines `dyn* Trait` as a sized type * Adds support for explicit casts, like `42usize as dyn* Debug` * Including const evaluation of such casts * Adds codegen for drop glue so things are cleaned up properly when a `dyn* Trait` object goes out of scope * Adds codegen for method calls, at least for methods that take `&self` Quite a bit is still missing, but this gives us a starting point. Note that this is never intended to become stable surface syntax for Rust, but rather `dyn*` is planned to be used as an implementation detail for async functions in dyn traits. Joint work with `@nikomatsakis` and `@compiler-errors.` r? `@bjorn3` | ||||
| 2022-09-14 | address review again | b-naber | -11/+6 | |
