mirror of
https://github.com/rust-lang/rust-analyzer
synced 2024-12-28 05:53:45 +00:00
test: add tests for variant kinds of SelfParam in inline_call
This commit is contained in:
parent
d48498f360
commit
920e99aacb
1 changed files with 81 additions and 5 deletions
|
@ -759,7 +759,7 @@ impl Foo {
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let x = {
|
let x = {
|
||||||
let ref this = Foo(3);
|
let this = &Foo(3);
|
||||||
Foo(this.0 + 2)
|
Foo(this.0 + 2)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -795,7 +795,7 @@ impl Foo {
|
||||||
|
|
||||||
fn main() {
|
fn main() {
|
||||||
let x = {
|
let x = {
|
||||||
let ref this = Foo(3);
|
let this = &Foo(3);
|
||||||
Foo(this.0 + 2)
|
Foo(this.0 + 2)
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -833,7 +833,7 @@ impl Foo {
|
||||||
fn main() {
|
fn main() {
|
||||||
let mut foo = Foo(3);
|
let mut foo = Foo(3);
|
||||||
{
|
{
|
||||||
let ref mut this = foo;
|
let this = &mut foo;
|
||||||
this.0 = 0;
|
this.0 = 0;
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
@ -920,7 +920,7 @@ impl Foo {
|
||||||
}
|
}
|
||||||
fn bar(&self) {
|
fn bar(&self) {
|
||||||
{
|
{
|
||||||
let ref this = self;
|
let this = &self;
|
||||||
this;
|
this;
|
||||||
this;
|
this;
|
||||||
};
|
};
|
||||||
|
@ -1595,7 +1595,7 @@ impl Enum {
|
||||||
|
|
||||||
fn a() -> bool {
|
fn a() -> bool {
|
||||||
{
|
{
|
||||||
let ref this = Enum::A;
|
let this = &Enum::A;
|
||||||
this == &Enum::A || this == &Enum::B
|
this == &Enum::A || this == &Enum::B
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1657,6 +1657,82 @@ fn main() {
|
||||||
a as A
|
a as A
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn method_by_reborrow() {
|
||||||
|
check_assist(
|
||||||
|
inline_call,
|
||||||
|
r#"
|
||||||
|
pub struct Foo(usize);
|
||||||
|
|
||||||
|
impl Foo {
|
||||||
|
fn add1(&mut self) {
|
||||||
|
self.0 += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn main() {
|
||||||
|
let f = &mut Foo(0);
|
||||||
|
f.add1$0();
|
||||||
|
}
|
||||||
|
"#,
|
||||||
|
r#"
|
||||||
|
pub struct Foo(usize);
|
||||||
|
|
||||||
|
impl Foo {
|
||||||
|
fn add1(&mut self) {
|
||||||
|
self.0 += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn main() {
|
||||||
|
let f = &mut Foo(0);
|
||||||
|
{
|
||||||
|
let this = &mut *f;
|
||||||
|
this.0 += 1;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
"#,
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
#[test]
|
||||||
|
fn method_by_mut() {
|
||||||
|
check_assist(
|
||||||
|
inline_call,
|
||||||
|
r#"
|
||||||
|
pub struct Foo(usize);
|
||||||
|
|
||||||
|
impl Foo {
|
||||||
|
fn add1(mut self) {
|
||||||
|
self.0 += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn main() {
|
||||||
|
let mut f = Foo(0);
|
||||||
|
f.add1$0();
|
||||||
|
}
|
||||||
|
"#,
|
||||||
|
r#"
|
||||||
|
pub struct Foo(usize);
|
||||||
|
|
||||||
|
impl Foo {
|
||||||
|
fn add1(mut self) {
|
||||||
|
self.0 += 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
pub fn main() {
|
||||||
|
let mut f = Foo(0);
|
||||||
|
{
|
||||||
|
let mut this = f;
|
||||||
|
this.0 += 1;
|
||||||
|
};
|
||||||
|
}
|
||||||
"#,
|
"#,
|
||||||
)
|
)
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue