rust/compiler/rustc_trait_selection/src
Trevor Gross a20fe8ff23
Rollup merge of #139909 - oli-obk:or-patterns, r=BoxyUwU
implement or-patterns for pattern types

These are necessary to represent `NonZeroI32`, as the range for that is `..0 | 1..`. The `rustc_scalar_layout_range_*` attributes avoided this by just implementing wraparound and having a single `1..=-1` range effectively. See https://rust-lang.zulipchat.com/#narrow/channel/481660-t-lang.2Fpattern-types/topic/.60or.20pattern.60.20representation.20in.20type.20system/with/504217694 for some background discussion

cc https://github.com/rust-lang/rust/issues/123646

r? `@BoxyUwU`
2025-04-29 12:28:22 -04:00
..
error_reporting Rollup merge of #140249 - BoxyUwU:remove_weak_alias_terminology, r=oli-obk 2025-04-28 13:30:45 +02:00
errors Move eager translation to a method on Diag 2025-04-16 21:38:59 -04:00
solve Rollup merge of #140320 - lcnr:wf-use-term, r=compiler-errors 2025-04-26 16:12:33 +02:00
traits Rollup merge of #139909 - oli-obk:or-patterns, r=BoxyUwU 2025-04-29 12:28:22 -04:00
errors.rs Extend HIR to track the source and syntax of a lifetime 2025-04-23 16:37:39 -04:00
infer.rs Consider Copy/Clone too 2025-04-22 17:05:15 +00:00
lib.rs Make #![feature(let_chains)] bootstrap conditional in compiler/ 2025-04-23 16:40:30 +02:00
opaque_types.rs NonGenericOpaqueTypeParam::ty to arg 2025-04-11 15:18:30 +02:00
regions.rs Only use implied bounds hack if bevy, and use deeply normalize in implied bounds hack 2025-03-04 18:18:48 +00:00
solve.rs Collect and resolve ambiguous obligations from normalizing in writeback 2025-04-22 16:50:38 +00:00