diff --git a/src/test/ui/mir/issue-99852.rs b/src/test/ui/mir/issue-99852.rs new file mode 100644 index 000000000000..94a7bd8db73b --- /dev/null +++ b/src/test/ui/mir/issue-99852.rs @@ -0,0 +1,16 @@ +// check-pass +// compile-flags: -C opt-level=3 + +#![crate_type = "lib"] + +fn lambda() -> T { + if true && let Some(bar) = transform() { + bar + } else { + T::default() + } +} + +fn transform() -> Option { + None +} diff --git a/src/test/ui/mir/issue-99866.rs b/src/test/ui/mir/issue-99866.rs new file mode 100644 index 000000000000..c620fb2a0df8 --- /dev/null +++ b/src/test/ui/mir/issue-99866.rs @@ -0,0 +1,27 @@ +// check-pass +// compile-flags: -C opt-level=3 + +#![crate_type = "lib"] + +pub trait Backend { + type DescriptorSetLayout; +} + +pub struct Back; + +impl Backend for Back { + type DescriptorSetLayout = u32; +} + +pub struct HalSetLayouts { + vertex_layout: ::DescriptorSetLayout, +} + +impl HalSetLayouts { + pub fn iter(self) -> DSL + where + Back: Backend, + { + self.vertex_layout + } +}