summaryrefslogtreecommitdiffstats
path: root/src/test/ui/mismatched_types/overloaded-calls-bad.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/mismatched_types/overloaded-calls-bad.rs')
-rw-r--r--src/test/ui/mismatched_types/overloaded-calls-bad.rs19
1 files changed, 14 insertions, 5 deletions
diff --git a/src/test/ui/mismatched_types/overloaded-calls-bad.rs b/src/test/ui/mismatched_types/overloaded-calls-bad.rs
index 902a6ec81..232cd2ba8 100644
--- a/src/test/ui/mismatched_types/overloaded-calls-bad.rs
+++ b/src/test/ui/mismatched_types/overloaded-calls-bad.rs
@@ -20,14 +20,23 @@ impl FnOnce<(isize,)> for S {
}
}
+struct F;
+
+impl FnOnce<(i32,)> for F {
+ type Output = ();
+
+ extern "rust-call" fn call_once(self, args: (i32,)) -> Self::Output {}
+}
+
fn main() {
- let mut s = S {
- x: 3,
- y: 3,
- };
- let ans = s("what"); //~ ERROR mismatched types
+ let mut s = S { x: 3, y: 3 };
+ let ans = s("what");
+ //~^ ERROR mismatched types
let ans = s();
//~^ ERROR this function takes 1 argument but 0 arguments were supplied
let ans = s("burma", "shave");
//~^ ERROR this function takes 1 argument but 2 arguments were supplied
+
+ F("");
+ //~^ ERROR mismatched types
}