León Orell Valerian Liehr
9213aec762
Lower generic const items to HIR
2023-07-28 22:21:40 +02:00
Matthias Krüger
fa21a8c6f8
Rollup merge of #114075 - matthiaskrgr:fmt_args_rustc_3, r=wesleywiser
...
inline format!() args from rustc_codegen_llvm to the end (4)
r? `@WaffleLapkin`
2023-07-27 06:04:13 +02:00
Wesley Wiser
15e9f56088
Replace in-tree rustc_apfloat
with the new version of the crate
2023-07-26 10:20:15 -04:00
Matthias Krüger
c64ef5e070
inline format!() args from rustc_codegen_llvm to the end (4)
...
r? @WaffleLapkin
2023-07-25 23:20:28 +02:00
Michael Goulet
846cc63e38
Make it clearer that edition functions are >=, not ==
2023-07-19 16:38:35 +00:00
syvb
2cfe8ed37d
Implement "items do not inherit unsafety" for THIR unsafeck
2023-07-15 11:59:38 -04:00
Mahdi Dibaiee
e55583c4b8
refactor(rustc_middle): Substs -> GenericArg
2023-07-14 13:27:35 +01:00
bors
fe03b46ee4
Auto merge of #113609 - nnethercote:maybe_lint_level_root_bounded-cache, r=cjgillot
...
Add a cache for `maybe_lint_level_root_bounded`
`maybe_lint_level_root_bounded` is called many times and traces node sub-paths many times. This PR adds a cache that lets many of these tracings be skipped, avoiding lots of calls to functions like `Map::attrs` and `Map::parent_id`.
r? `@cjgillot`
2023-07-14 05:30:53 +00:00
Mark Rousskov
cc907f80b9
Re-format let-else per rustfmt update
2023-07-12 21:49:27 -04:00
Nicholas Nethercote
667d75e546
Add a cache for maybe_lint_level_root_bounded
.
...
It's a nice speed win.
2023-07-13 09:32:09 +10:00
Nicholas Nethercote
f234dc3e1c
Move maybe_lint_level_root_bounded
.
...
From `TyCtxt` to the MIR `Builder`. This will allow us to add a cache to
`Builder` and use it from `maybe_lint_level_root_bounded`.
2023-07-12 10:02:13 +10:00
Nicholas Nethercote
36458109ae
Shorten some overlong comment lines.
...
It's annoying that these wrap in a 100-char terminal window.
2023-07-12 09:16:31 +10:00
Michael Goulet
fe870424a7
Do not set up wrong span for adjustments
2023-07-10 20:09:26 +00:00
Matthias Krüger
b637be7a17
Rollup merge of #113217 - ericmarkmartin:lower-type-relative-ctor-to-adt, r=cjgillot
...
resolve typerelative ctors to adt
Associated issue: #110508
r? ``@spastorino``
2023-07-08 20:53:29 +02:00
Nilstrieb
2beabbbf6f
Rename adjustment::PointerCast
and variants using it to PointerCoercion
...
It makes it sound like the `ExprKind` and `Rvalue` are supposed to represent all pointer related
casts, when in reality their just used to share a some enum variants. Make it clear there these
are only coercion to make it clear why only some pointer related "casts" are in the enum.
2023-07-07 18:17:16 +02:00
Boxy
12138b8e5e
Move TyCtxt::mk_x
to Ty::new_x
where applicable
2023-07-05 20:27:07 +01:00
Boxy
d30f56dbf2
Replace const_error
methods with Const::new_error
2023-07-04 14:46:32 +01:00
Boxy
ddbc774e74
Replace mk_const
with Const::new_x
methods
2023-07-04 14:26:33 +01:00
Eric Mark Martin
07b1912acc
refactor
2023-07-02 18:44:26 -04:00
Eric Mark Martin
76a7772759
resolve typerelative ctors to adt
2023-06-30 08:26:56 -04:00
Eric Mark Martin
96bd056695
remove cruft
2023-06-28 01:55:32 -04:00
Eric Mark Martin
2017a176eb
use translatable subdiagnostic
2023-06-28 01:51:53 -04:00
Eric Mark Martin
fbd1e0252f
add note for non-exhaustive matches with guards
2023-06-28 01:51:53 -04:00
Matthias Krüger
4571be358b
Rollup merge of #113093 - WaffleLapkin:become_unuwuable_in_thir, r=Nilstrieb
...
`thir`: Add `Become` expression kind
This PR is pretty small and just adds `thir::ExprKind::Become`. I didn't include the checks that will be done on thir, since they are much more complicated and can be done in parallel with with MIR (or, well, at least I believe they can).
r? `@Nilstrieb`
2023-06-27 17:48:47 +02:00
Maybe Waffle
c60fb12a35
thir
: Add Become
expression kind
2023-06-27 09:03:05 +00:00
Matthias Krüger
a144272eee
Rollup merge of #113039 - matthiaskrgr:custom_mir, r=compiler-errors
...
make custom mir ICE a bit nicer
2023-06-27 07:01:32 +02:00
bors
b9ad9b78a2
Auto merge of #112693 - ericmarkmartin:use-more-placeref, r=spastorino
...
Use PlaceRef abstractions more often
Associated issue: https://github.com/rust-lang/rust/issues/80647
r? `@spastorino`
2023-06-27 00:34:49 +00:00
Matthias Krüger
c6e6ceb078
make custom mir ICE a bit nicer
2023-06-26 19:23:22 +02:00
Maybe Waffle
ccb71ff424
hir
: Add Become
expression kind
2023-06-26 08:56:32 +00:00
Eric Mark Martin
c07c10d1e4
use PlaceRef abstractions more consistently
2023-06-25 20:38:01 -04:00
Nilstrieb
34c8e53d7a
Rollup merge of #112759 - cjgillot:closure-names, r=oli-obk
...
Make closure_saved_names_of_captured_variables a query.
As we will start removing debuginfo during MIR optimizations, we need to keep them somewhere.
2023-06-21 07:37:01 +02:00
Ziru Niu
a52cc0a8c9
address most easy comments
2023-06-20 20:55:31 +08:00
Ziru Niu
8fb4c41f35
merge BorrowKind::Unique
into BorrowKind::Mut
2023-06-20 20:55:31 +08:00
Michael Goulet
31d1fbf8d2
Rollup merge of #112232 - fee1-dead-contrib:match-eq-const-msg, r=b-naber
...
Better error for non const `PartialEq` call generated by `match`
Resolves #90237
2023-06-19 17:53:33 -07:00
Camille GILLOT
689607e7a3
Remove duplicated comment.
2023-06-19 16:52:12 +00:00
Camille GILLOT
7d5b2e4926
Make closure_saved_names_of_captured_variables a query.
2023-06-19 16:50:52 +00:00
Deadbeef
89c24af133
Better error for non const PartialEq
call generated by match
2023-06-18 05:24:38 +00:00
Oli Scherer
0f7174a02a
Re-use the deref-pattern recursion instead of duplicating the logic
2023-06-16 15:39:12 +00:00
许杰友 Jieyou Xu (Joe)
55b4549602
Show note for type ascription interpreted as a constant pattern, not a new variable
...
Given the code
```rust
pub fn main() {
const y: i32 = 4;
let y: i32 = 3;
}
```
`y` in the let binding is actually interpreted as a constant pattern
and is not a new variable, causing confusing diagnostics about
refutable patterns in local binding.
This commit extends the note for type ascription as a constant pattern
to `AscribeUserType` patterns as well.
2023-06-04 20:49:30 +08:00
Camille GILLOT
ca4d0d4c24
Separate AnonConst from ConstBlock in HIR.
2023-06-02 21:25:18 +00:00
Oli Scherer
81b07edde8
Inline from_inline_const into its sole call site
2023-05-31 14:07:16 +00:00
Oli Scherer
c4d5dded57
Explain and simplify valtree -> mir-const fallback
2023-05-31 14:07:16 +00:00
Oli Scherer
9cf7810078
bug!
message nit
2023-05-31 14:07:15 +00:00
Oli Scherer
bd4197cbf9
Simplify an if let Some
to a ?
2023-05-31 14:07:15 +00:00
Oli Scherer
1722aa79ea
Remove some dead code
2023-05-31 14:07:15 +00:00
Oli Scherer
4ca87073f6
Remove lit_to_mir_constant
query
2023-05-31 14:07:15 +00:00
Oli Scherer
aa3a1862ba
Remove deref_mir_constant
2023-05-31 14:07:15 +00:00
Oli Scherer
d030ece6f7
Only rewrite valtree-constants to patterns and keep other constants opaque
2023-05-31 14:02:57 +00:00
Oli Scherer
7a2f47c271
Remove a hack that has become obsolete after https://github.com/rust-lang/rust/pull/108080
2023-05-30 16:03:24 +00:00
Oli Scherer
e40b51da63
Get lit_to_const
in sync with const_to_valtree_inner
...
Without this, we'd have a discrepancy where float literals are not lowered to valtrees, but float constants are.
2023-05-30 16:03:24 +00:00