Skip to content

Commit

Permalink
add testcase
Browse files Browse the repository at this point in the history
  • Loading branch information
FwP-IDN committed Feb 18, 2025
1 parent 318a51f commit 5b93020
Show file tree
Hide file tree
Showing 5 changed files with 98 additions and 68 deletions.
1 change: 0 additions & 1 deletion src/types.rs
Original file line number Diff line number Diff line change
Expand Up @@ -493,7 +493,6 @@ impl Rewrite for ast::WherePredicate {
{
format!("for<{binder_str}> {type_str}{colon}")
} else {
debug!("KANCIL {:?} {}", bounds, force_space_after_colon);
format!("{type_str}{colon}")
};

Expand Down
30 changes: 2 additions & 28 deletions tests/source/issue-6470/case-1.rs
Original file line number Diff line number Diff line change
Expand Up @@ -197,36 +197,10 @@ where
println!("{}", item.to_string());
}

fn print_gen_with_where2<T>(item: T)
where
T:SomeTrait + Clone,
{
fn print_gen_with_where2<T: ::some_crate::SomeTrait + Clone>(item: T) {
println!("{}", item.to_string());
}

fn print_gen_with_where3<T: ::some_crate::SomeTrait + Clone>(item: T) {
fn print_gen_with_where3<T: some_crate::SomeTrait + Clone>(item: T) {
println!("{}", item.to_string());
}

fn print_gen_with_where4<T: some_crate::SomeTrait + Clone>(item: T) {
println!("{}", item.to_string());
}


/// Adds two integers and returns the result.
///
/// # Parameters
/// - `a`: The first integer to add.
/// - `b`: The second integer to add.
///
/// # Returns
/// The sum of `a` and `b` as an integer. The return type is `i32`.
///
/// # Example
/// ```
/// let result = add(2, 3);
/// assert_eq!(result, 5);
/// ```
fn add(a: i32, b: i32) -> i32 {
a + b
}
30 changes: 2 additions & 28 deletions tests/source/issue-6470/case-2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -197,36 +197,10 @@ where
println!("{}", item.to_string());
}

fn print_gen_with_where2<T>(item: T)
where
T:SomeTrait + Clone,
{
fn print_gen_with_where2<T: ::some_crate::SomeTrait + Clone>(item: T) {
println!("{}", item.to_string());
}

fn print_gen_with_where3<T: ::some_crate::SomeTrait + Clone>(item: T) {
fn print_gen_with_where3<T: some_crate::SomeTrait + Clone>(item: T) {
println!("{}", item.to_string());
}

fn print_gen_with_where4<T: some_crate::SomeTrait + Clone>(item: T) {
println!("{}", item.to_string());
}


/// Adds two integers and returns the result.
///
/// # Parameters
/// - `a`: The first integer to add.
/// - `b`: The second integer to add.
///
/// # Returns
/// The sum of `a` and `b` as an integer. The return type is `i32`.
///
/// # Example
/// ```
/// let result = add(2, 3);
/// assert_eq!(result, 5);
/// ```
fn add(a: i32, b: i32) -> i32 {
a + b
}
12 changes: 2 additions & 10 deletions tests/target/issue-6470/case-1.rs
Original file line number Diff line number Diff line change
Expand Up @@ -194,18 +194,10 @@ where
println!("{}", item.to_string());
}

fn print_gen_with_where2<T>(item:T)
where
T: SomeTrait + Clone,
{
println!("{}", item.to_string());
}

fn print_gen_with_where3<T: ::some_crate::SomeTrait + Clone>(item:T) {
fn print_gen_with_where2<T: ::some_crate::SomeTrait + Clone>(item:T) {
println!("{}", item.to_string());
}

fn print_gen_with_where4<T:some_crate::SomeTrait + Clone>(item:T) {
fn print_gen_with_where3<T:some_crate::SomeTrait + Clone>(item:T) {
println!("{}", item.to_string());
}

93 changes: 92 additions & 1 deletion tests/target/issue-6470/case-2.rs
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ fn main() {
let x13: &::some_crate::SomeType = ::some_crate::SomeType::default();
let x14: &::some_crate::SomeType = ::some_crate::SomeType::default();

let y = SomeStruct {
let y_call = SomeStruct {
field1: ::some_crate::Thing::default(),
field2: ::some_crate::Thing::default(),

Expand All @@ -94,6 +94,82 @@ fn main() {
field13: &::some_crate::Thing::default(),
field14: &::some_crate::Thing::default(),
};

let y_method_call = SomeStruct {
field1: ::some_crate::Thing::Default.call(),
field2: ::some_crate::Thing::Default.call(),

..y_call
};

let y_binary = SomeStruct {
field1: ::some_crate::Thing::Default + 12,
field2: ::some_crate::Thing::Default + 12,

..y_call
};

let y_cast = SomeStruct {
field1: ::some_crate::Thing::Default as i32,
field2: ::some_crate::Thing::Default as i32,

..y_call
};

let y_type = SomeStruct {
field7: ::some_crate::Thing::Default,
field8: ::some_crate::Thing::Default,

..y_call
};

let y_field = SomeStruct {
field1: ::some_crate::Thing::Default.some_field,
field2: ::some_crate::Thing::Default.some_field,

..y_call
};

let y_index = SomeStruct {
field1: ::some_crate::Thing::Default[0],
field2: ::some_crate::Thing::Default[0],

..y_call
};

let y_range = SomeStruct {
field1: ::some_crate::Thing::DefaultStart..12,
field2: ::some_crate::Thing::DefaultStart..12,

..y_call
};

let y_path = SomeStruct {
field1: ::some_crate::Thing::Default,
field2: ::some_crate::Thing::Default,

..y_call
};

let y_mac_call = SomeStruct {
field1: ::some_crate::macr!(),
field2: ::some_crate::macr!(),

..y_call
};

let y_struct = SomeStruct {
field1: ::some_crate::Thing::SomeStruct {
fieldA1: 123,
fieldA2: 123,
},
field2: ::some_crate::Thing::SomeStruct {
fieldA1: 123,
fieldA2: 123,
},

..y_call
};
}

fn func1(x: ::some_crate::SomeType) {}
Expand All @@ -110,3 +186,18 @@ fn func11(x: &::some_crate::SomeType) {}
fn func12(x: &::some_crate::SomeType) {}
fn func13(x: &::some_crate::SomeType) {}
fn func14(x: &::some_crate::SomeType) {}

fn print_gen_with_where1<T>(item: T)
where
T: ::some_crate::SomeTrait + Clone,
{
println!("{}", item.to_string());
}

fn print_gen_with_where2<T: ::some_crate::SomeTrait + Clone>(item: T) {
println!("{}", item.to_string());
}

fn print_gen_with_where3<T: some_crate::SomeTrait + Clone>(item: T) {
println!("{}", item.to_string());
}

0 comments on commit 5b93020

Please sign in to comment.