diff options
| author | bors <bors@rust-lang.org> | 2015-04-09 04:56:23 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2015-04-09 04:56:23 +0000 |
| commit | 0e5e669272253fa1dcbe08a23977d1f9fb0a392a (patch) | |
| tree | 886d0125a7b3e008ae3c9d0e90557247d49be0e4 /src/test | |
| parent | 287a544a309b840fd715fe1d5b651b5116bf08fa (diff) | |
| parent | df95719391b2ee94c09162060052755e75f431dc (diff) | |
| download | rust-0e5e669272253fa1dcbe08a23977d1f9fb0a392a.tar.gz rust-0e5e669272253fa1dcbe08a23977d1f9fb0a392a.zip | |
Auto merge of #24168 - kballard:clone-for-extern-c-unsafe-fns, r=alexcrichton
We only implemented Clone on `extern "Rust" fn`s (for up to 8 parameters). This didn't cover `extern "C"` or `unsafe` (or `unsafe extern "C"`) `fn`s, but there's no reason why they shouldn't be cloneable as well. The new impls are marked unstable because the existing impl for `extern "Rust" fn`s is. Fixes #24161.
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/run-pass/issue-24161.rs | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/test/run-pass/issue-24161.rs b/src/test/run-pass/issue-24161.rs new file mode 100644 index 00000000000..2445ef17ecf --- /dev/null +++ b/src/test/run-pass/issue-24161.rs @@ -0,0 +1,19 @@ +// Copyright 2015 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. + +#[derive(Copy,Clone)] +struct Functions { + a: fn(u32) -> u32, + b: extern "C" fn(u32) -> u32, + c: unsafe fn(u32) -> u32, + d: unsafe extern "C" fn(u32) -> u32 +} + +pub fn main() {} |
