File tree Expand file tree Collapse file tree 1 file changed +61
-0
lines changed 
crates/ide-assists/src/handlers Expand file tree Collapse file tree 1 file changed +61
-0
lines changed Original file line number Diff line number Diff line change @@ -1716,4 +1716,65 @@ impl some_module::SomeTrait for B {
17161716}"# , 
17171717 ) 
17181718 } 
1719+ 
1720+  #[ test]  
1721+  fn  test_fn_with_attrs ( )  { 
1722+  check_assist ( 
1723+  generate_delegate_trait, 
1724+  r#" 
1725+ struct A; 
1726+ 
1727+ trait T { 
1728+  #[cfg(test)] 
1729+  fn f(&self, a: u32); 
1730+  #[cfg(not(test))] 
1731+  fn f(&self, a: bool); 
1732+ } 
1733+ 
1734+ impl T for A { 
1735+  #[cfg(test)] 
1736+  fn f(&self, a: u32) {} 
1737+  #[cfg(not(test))] 
1738+  fn f(&self, a: bool) {} 
1739+ } 
1740+ 
1741+ struct B { 
1742+  a$0: A, 
1743+ } 
1744+ "# , 
1745+  r#" 
1746+ struct A; 
1747+ 
1748+ trait T { 
1749+  #[cfg(test)] 
1750+  fn f(&self, a: u32); 
1751+  #[cfg(not(test))] 
1752+  fn f(&self, a: bool); 
1753+ } 
1754+ 
1755+ impl T for A { 
1756+  #[cfg(test)] 
1757+  fn f(&self, a: u32) {} 
1758+  #[cfg(not(test))] 
1759+  fn f(&self, a: bool) {} 
1760+ } 
1761+ 
1762+ struct B { 
1763+  a: A, 
1764+ } 
1765+ 
1766+ impl T for B { 
1767+  #[cfg(test)] 
1768+  fn f(&self, a: u32) { 
1769+  <A as T>::f(&self.a, a) 
1770+  } 
1771+ 
1772+  #[cfg(not(test))] 
1773+  fn f(&self, a: bool) { 
1774+  <A as T>::f(&self.a, a) 
1775+  } 
1776+ } 
1777+ "# , 
1778+  ) ; 
1779+  } 
17191780} 
                         You can’t perform that action at this time. 
           
                  
0 commit comments