Skip to content

Commit

Permalink
Auto merge of #15363 - HKalbasi:mir, r=HKalbasi
Browse files Browse the repository at this point in the history
Support `Self` without field in mir lowering
  • Loading branch information
bors committed Jul 30, 2023
2 parents cecbed9 + a9d81ae commit 429a381
Show file tree
Hide file tree
Showing 2 changed files with 45 additions and 4 deletions.
44 changes: 44 additions & 0 deletions crates/hir-ty/src/mir/eval/tests.rs
Expand Up @@ -613,6 +613,50 @@ fn main() {
);
}

#[test]
fn self_with_capital_s() {
check_pass(
r#"
//- minicore: fn, add, copy
struct S1;
impl S1 {
fn f() {
Self;
}
}
struct S2 {
f1: i32,
}
impl S2 {
fn f() {
Self { f1: 5 };
}
}
struct S3(i32);
impl S3 {
fn f() {
Self(2);
Self;
let this = Self;
this(2);
}
}
fn main() {
S1::f();
S2::f();
S3::f();
}
"#,
);
}

#[test]
fn syscalls() {
check_pass(
Expand Down
5 changes: 1 addition & 4 deletions crates/hir-ty/src/mir/lower.rs
Expand Up @@ -486,13 +486,10 @@ impl<'ctx> MirLowerCtx<'ctx> {
);
Ok(Some(current))
}
ValueNs::FunctionId(_) | ValueNs::StructId(_) => {
ValueNs::FunctionId(_) | ValueNs::StructId(_) | ValueNs::ImplSelf(_) => {
// It's probably a unit struct or a zero sized function, so no action is needed.
Ok(Some(current))
}
it => {
not_supported!("unknown name {it:?} in value name space");
}
}
}
Expr::If { condition, then_branch, else_branch } => {
Expand Down

0 comments on commit 429a381

Please sign in to comment.