Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
librustc: When checking static method calls to unboxed closures, look at
the right trait and take the method name into account. Closes #16599.
- Loading branch information
Showing
7 changed files
with
134 additions
and
44 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
17 changes: 17 additions & 0 deletions
17
src/test/compile-fail/unboxed-closures-static-call-wrong-trait.rs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT | ||
// file at the top-level directory of this distribution and at | ||
// http://rust-lang.org/COPYRIGHT. | ||
// | ||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | ||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | ||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | ||
// option. This file may not be copied, modified, or distributed | ||
// except according to those terms. | ||
|
||
#![feature(unboxed_closures)] | ||
|
||
fn main() { | ||
let mut_ = |&mut: x| x; | ||
mut_.call_once((0i, )); //~ ERROR type `closure` does not implement | ||
} | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
// Copyright 2014 The Rust Project Developers. See the COPYRIGHT | ||
// file at the top-level directory of this distribution and at | ||
// http://rust-lang.org/COPYRIGHT. | ||
// | ||
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or | ||
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license | ||
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your | ||
// option. This file may not be copied, modified, or distributed | ||
// except according to those terms. | ||
|
||
#![feature(unboxed_closures)] | ||
|
||
fn main() { | ||
let onetime = |: x| x; | ||
onetime.call_once((0i,)); | ||
} | ||
|
b0931a0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
saw approval from huonw
at pcwalton@b0931a0
b0931a0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
merging pcwalton/rust/unboxed-closures-wrong-trait = b0931a0 into auto
b0931a0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
pcwalton/rust/unboxed-closures-wrong-trait = b0931a0 merged ok, testing candidate = 6f1b1a6
b0931a0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
all tests pass:
success: http://buildbot.rust-lang.org/builders/auto-mac-32-opt/builds/943
success: http://buildbot.rust-lang.org/builders/auto-mac-64-opt/builds/943
success: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-c/builds/942
success: http://buildbot.rust-lang.org/builders/auto-mac-64-nopt-t/builds/943
success: http://buildbot.rust-lang.org/builders/auto-linux-32-opt/builds/938
success: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-c/builds/939
success: http://buildbot.rust-lang.org/builders/auto-linux-32-nopt-t/builds/938
success: http://buildbot.rust-lang.org/builders/auto-linux-64-opt/builds/944
success: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-c/builds/939
success: http://buildbot.rust-lang.org/builders/auto-linux-64-nopt-t/builds/938
success: http://buildbot.rust-lang.org/builders/auto-linux-64-x-android-t/builds/941
success: http://buildbot.rust-lang.org/builders/auto-win-32-opt/builds/940
success: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-t/builds/939
success: http://buildbot.rust-lang.org/builders/auto-win-32-nopt-c/builds/940
b0931a0
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
fast-forwarding master to auto = 6f1b1a6