Skip to content

Rolling up PRs in the queue #21872

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 63 commits into from
Feb 3, 2015
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
df2c3a2
copyright: update paths and entries
lucab Jan 22, 2015
cf535a3
rustc: Use --extern to always override
alexcrichton Jan 30, 2015
682f867
Add missing calls to llvm.lifetime.end intrinsics
dotdash Jan 30, 2015
0832364
std: Stabilize Atomic{Isize,Usize} methods
alexcrichton Jan 31, 2015
f9f7ad7
rustc: Make unused_features lint warn by default
brson Jan 31, 2015
e9ade48
updating the link to rustdoc
Jan 31, 2015
64ca751
Mention the type in the overflowing literal lint
nagisa Jan 31, 2015
afa526c
Update tests for overflowing literals
nagisa Jan 31, 2015
1935bbd
Make use of a binary operator's RHS type for LHS inference
edwardw Jan 31, 2015
60fa1ff
Fix fallout
edwardw Jan 31, 2015
7eaa589
fix use decl code example in reference
Jan 31, 2015
cedc675
Fix end of TtDelimited span
kmcallister Jan 31, 2015
b796c1d
Updated unicode escape documentation to match current implementation.
genbattle Feb 1, 2015
fcb30a0
openbsd support
semarie Jan 29, 2015
3096784
openbsd: break lines too long
semarie Jan 29, 2015
568a451
openbsd: incoporate remarks
semarie Jan 30, 2015
3430578
openbsd: remove unused openbsd code
semarie Jan 30, 2015
fdb5d77
openbsd: remove specific block and cleanup linkage
semarie Jan 30, 2015
f6414b0
openbsd: rebase to master
semarie Feb 1, 2015
602e508
Update LLVM to rust-llvm-2015-01-30
dotdash Jan 30, 2015
70ed3a4
std: Add a new `env` module
alexcrichton Jan 27, 2015
0828efd
Reject syntax like `use foo::bar::;` and `use foo:: as bar;` and keyw…
Potpourri Jan 31, 2015
0e44484
std: Remove extra type params on iter adaptors
alexcrichton Feb 1, 2015
8d57f8c
Fix stale doc link (guide -> book)
Manishearth Feb 1, 2015
0187ea6
rustc: Change an unconditional `warn` to a `note`
alexcrichton Feb 1, 2015
f371af4
Closes issue #21850
FreeFull Feb 2, 2015
6342af8
Add test, closes #20454
jfager Jan 31, 2015
597b4fa
Tweak some ‘expected…’ error messages
ftxqxd Jan 16, 2015
deed093
std: Deprecate RefCell::{try_borrow, try_borrow_mut}
alexcrichton Feb 2, 2015
9683745
Omit integer suffix when unnecessary
Jan 28, 2015
4197e5f
Fix discrepencies in the testing chapter
steveklabnik Feb 2, 2015
fcf1a57
Documenting libcore/char.rs
steveklabnik Jan 23, 2015
b9a67e3
Do not warn when deriving `Copy` for raw pointers
aochagavia Jan 18, 2015
8b84f09
Add test for #21296
aochagavia Jan 18, 2015
431baa9
Remove a bogus match from type_is_unique
dotdash Feb 2, 2015
ddcfb15
rollup merge of #21223: P1start/expected-token-improvements
alexcrichton Feb 2, 2015
a392d91
rollup merge of #21362: aochagavia/copy_rawptr
alexcrichton Feb 2, 2015
5e25d11
rollup merge of #21509: lucab/lucab/copyright-update
alexcrichton Feb 2, 2015
8c468b6
rollup merge of #21567: steveklabnik/doc_char
alexcrichton Feb 2, 2015
9529ab0
rollup merge of #21710: alfie/libsyntax
alexcrichton Feb 2, 2015
425f232
rollup merge of #21754: semarie/openbsd-rebased
alexcrichton Feb 2, 2015
7b185f9
rollup merge of #21782: alexcrichton/issue-21771
alexcrichton Feb 2, 2015
902abab
rollup merge of #21787: alexcrichton/std-env
alexcrichton Feb 2, 2015
1641c32
rollup merge of #21794: alexcrichton/stabilize-atomic-usize
alexcrichton Feb 2, 2015
387722b
rollup merge of #21800: brson/unused_features
alexcrichton Feb 2, 2015
85aba75
rollup merge of #21803: madmalik/patch-1
alexcrichton Feb 2, 2015
b0dee7b
rollup merge of #21808: jfager/r20454
alexcrichton Feb 2, 2015
22fdf97
rollup merge of #21815: nagisa/overflowing-lints
alexcrichton Feb 2, 2015
c64b73e
rollup merge of #21817: edwardw/symmetric-binop
alexcrichton Feb 2, 2015
04213eb
rollup merge of #21818: dotdash/llvm_up
alexcrichton Feb 2, 2015
10de0d9
rollup merge of #21819: dsyang/doc_fix
alexcrichton Feb 2, 2015
075588a
rollup merge of #21825: kmcallister/ttdelim-span
alexcrichton Feb 2, 2015
7335c7d
rollup merge of #21830: japaric/for-cleanup
alexcrichton Feb 2, 2015
747e6b5
rollup merge of #21832: genbattle/doc-unicode-escapes
alexcrichton Feb 2, 2015
99b2bd4
rollup merge of #21842: alexcrichton/issue-21839
alexcrichton Feb 2, 2015
3ef2df9
rollup merge of #21845: Potpourri/import-syntax
alexcrichton Feb 2, 2015
b9e2743
rollup merge of #21848: Manishearth/book-link
alexcrichton Feb 2, 2015
02c149d
rollup merge of #21849: alexcrichton/warn2note
alexcrichton Feb 2, 2015
0a10e32
rollup merge of #21852: FreeFull/patch-1
alexcrichton Feb 2, 2015
87eb67f
rollup merge of #21854: alexcrichton/try-borrow
alexcrichton Feb 2, 2015
cd47cf9
rollup merge of #21865: steveklabnik/gh21501
alexcrichton Feb 2, 2015
fea07cf
rollup merge of #21869: dotdash/bogus_match
alexcrichton Feb 2, 2015
9ece22e
Test fixes and rebase conflicts
alexcrichton Feb 2, 2015
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 4 additions & 16 deletions COPYRIGHT
Original file line number Diff line number Diff line change
Expand Up @@ -23,12 +23,12 @@ The following third party packages are included, and carry
their own copyright notices and license terms:

* Two header files that are part of the Valgrind
package. These files are found at src/rt/vg/valgrind.h and
src/rt/vg/memcheck.h, within this distribution. These files
package. These files are found at src/rt/valgrind/valgrind.h and
src/rt/valgrind/memcheck.h, within this distribution. These files
are redistributed under the following terms, as noted in
them:

for src/rt/vg/valgrind.h:
for src/rt/valgrind/valgrind.h:

This file is part of Valgrind, a dynamic binary
instrumentation framework.
Expand Down Expand Up @@ -74,7 +74,7 @@ their own copyright notices and license terms:
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.

for src/rt/vg/memcheck.h:
for src/rt/valgrind/memcheck.h:

This file is part of MemCheck, a heavyweight Valgrind
tool for detecting memory errors.
Expand Down Expand Up @@ -120,18 +120,6 @@ their own copyright notices and license terms:
USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
OF SUCH DAMAGE.

* The auxiliary file src/etc/pkg/modpath.iss contains a
library routine compiled, by Inno Setup, into the Windows
installer binary. This file is licensed under the LGPL,
version 3, but, in our legal interpretation, this does not
affect the aggregate "collected work" license of the Rust
distribution (MIT/ASL2) nor any other components of it. We
believe that the terms governing distribution of the
binary Windows installer built from modpath.iss are
therefore LGPL, but not the terms governing distribution
of any of the files installed by such an installer (such
as the Rust compiler or runtime libraries themselves).

* The src/rt/miniz.c file, carrying an implementation of
RFC1950/RFC1951 DEFLATE, by Rich Geldreich
<[email protected]>. All uses of this file are
Expand Down
4 changes: 4 additions & 0 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -374,6 +374,10 @@ case $CFG_OSTYPE in
CFG_OSTYPE=unknown-dragonfly
;;

OpenBSD)
CFG_OSTYPE=unknown-openbsd
;;

Darwin)
CFG_OSTYPE=apple-darwin
;;
Expand Down
26 changes: 26 additions & 0 deletions mk/cfg/x86_64-unknown-openbsd.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# x86_64-pc-openbsd-elf configuration
CC_x86_64-unknown-openbsd=$(CC)
CXX_x86_64-unknown-openbsd=$(CXX)
CPP_x86_64-unknown-openbsd=$(CPP)
AR_x86_64-unknown-openbsd=$(AR)
CFG_LIB_NAME_x86_64-unknown-openbsd=lib$(1).so
CFG_STATIC_LIB_NAME_x86_64-unknown-openbsd=lib$(1).a
CFG_LIB_GLOB_x86_64-unknown-openbsd=lib$(1)-*.so
CFG_LIB_DSYM_GLOB_x86_64-unknown-openbsd=$(1)-*.dylib.dSYM
CFG_JEMALLOC_CFLAGS_x86_64-unknown-openbsd := -m64 -I/usr/include $(CFLAGS)
CFG_GCCISH_CFLAGS_x86_64-unknown-openbsd := -Wall -Werror -g -fPIC -m64 -I/usr/include $(CFLAGS)
CFG_GCCISH_LINK_FLAGS_x86_64-unknown-openbsd := -shared -fPIC -g -pthread -m64
CFG_GCCISH_DEF_FLAG_x86_64-unknown-openbsd := -Wl,--export-dynamic,--dynamic-list=
CFG_GCCISH_PRE_LIB_FLAGS_x86_64-unknown-openbsd := -Wl,-whole-archive
CFG_GCCISH_POST_LIB_FLAGS_x86_64-unknown-openbsd := -Wl,-no-whole-archive
CFG_DEF_SUFFIX_x86_64-unknown-openbsd := .bsd.def
CFG_LLC_FLAGS_x86_64-unknown-openbsd :=
CFG_INSTALL_NAME_x86_64-unknown-openbsd =
CFG_EXE_SUFFIX_x86_64-unknown-openbsd :=
CFG_WINDOWSY_x86_64-unknown-openbsd :=
CFG_UNIXY_x86_64-unknown-openbsd := 1
CFG_PATH_MUNGE_x86_64-unknown-openbsd :=
CFG_LDPATH_x86_64-unknown-openbsd :=
CFG_RUN_x86_64-unknown-openbsd=$(2)
CFG_RUN_TARG_x86_64-unknown-openbsd=$(call CFG_RUN_x86_64-unknown-openbsd,,$(2))
CFG_GNU_TRIPLE_x86_64-unknown-openbsd := x86_64-unknown-openbsd
11 changes: 6 additions & 5 deletions src/compiletest/compiletest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@
#![feature(std_misc)]
#![feature(test)]
#![feature(unicode)]
#![feature(env)]

#![deny(warnings)]

Expand All @@ -31,7 +32,7 @@ extern crate getopts;
#[macro_use]
extern crate log;

use std::os;
use std::env;
use std::old_io;
use std::old_io::fs;
use std::thunk::Thunk;
Expand All @@ -48,7 +49,7 @@ pub mod common;
pub mod errors;

pub fn main() {
let args = os::args();
let args = env::args().map(|s| s.into_string().unwrap()).collect();;
let config = parse_config(args);

if config.valgrind_path.is_none() && config.force_valgrind {
Expand Down Expand Up @@ -224,15 +225,15 @@ pub fn run_tests(config: &Config) {
//arm-linux-androideabi debug-info test uses remote debugger
//so, we test 1 task at once.
// also trying to isolate problems with adb_run_wrapper.sh ilooping
os::setenv("RUST_TEST_TASKS","1");
env::set_var("RUST_TEST_TASKS","1");
}

match config.mode {
DebugInfoLldb => {
// Some older versions of LLDB seem to have problems with multiple
// instances running in parallel, so only run one test task at a
// time.
os::setenv("RUST_TEST_TASKS", "1");
env::set_var("RUST_TEST_TASKS", "1");
}
_ => { /* proceed */ }
}
Expand All @@ -245,7 +246,7 @@ pub fn run_tests(config: &Config) {
old_io::test::raise_fd_limit();
// Prevent issue #21352 UAC blocking .exe containing 'patch' etc. on Windows
// If #11207 is resolved (adding manifest to .exe) this becomes unnecessary
os::setenv("__COMPAT_LAYER", "RunAsInvoker");
env::set_var("__COMPAT_LAYER", "RunAsInvoker");
let res = test::run_tests_console(&opts, tests.into_iter().collect());
match res {
Ok(true) => {}
Expand Down
6 changes: 3 additions & 3 deletions src/compiletest/runtest.rs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ use std::old_io::process::ProcessExit;
use std::old_io::process;
use std::old_io::timer;
use std::old_io;
use std::os;
use std::env;
use std::iter::repeat;
use std::str;
use std::string::String;
Expand Down Expand Up @@ -1298,9 +1298,9 @@ fn make_lib_name(config: &Config, auxfile: &Path, testfile: &Path) -> Path {

fn make_exe_name(config: &Config, testfile: &Path) -> Path {
let mut f = output_base_name(config, testfile);
if !os::consts::EXE_SUFFIX.is_empty() {
if !env::consts::EXE_SUFFIX.is_empty() {
let mut fname = f.filename().unwrap().to_vec();
fname.extend(os::consts::EXE_SUFFIX.bytes());
fname.extend(env::consts::EXE_SUFFIX.bytes());
f.set_filename(fname);
}
f
Expand Down
11 changes: 6 additions & 5 deletions src/compiletest/util.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright 2012 The Rust Project Developers. See the COPYRIGHT
// Copyright 2012-2015 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
Expand All @@ -11,7 +11,7 @@
use common::Config;

#[cfg(target_os = "windows")]
use std::os::getenv;
use std::env;

/// Conversion table from triple OS name to Rust SYSNAME
static OS_TABLE: &'static [(&'static str, &'static str)] = &[
Expand All @@ -23,6 +23,7 @@ static OS_TABLE: &'static [(&'static str, &'static str)] = &[
("linux", "linux"),
("freebsd", "freebsd"),
("dragonfly", "dragonfly"),
("openbsd", "openbsd"),
];

pub fn get_os(triple: &str) -> &'static str {
Expand All @@ -39,11 +40,11 @@ pub fn make_new_path(path: &str) -> String {

// Windows just uses PATH as the library search path, so we have to
// maintain the current value while adding our own
match getenv(lib_path_env_var()) {
Some(curr) => {
match env::var_string(lib_path_env_var()) {
Ok(curr) => {
format!("{}{}{}", path, path_div(), curr)
}
None => path.to_string()
Err(..) => path.to_string()
}
}

Expand Down
3 changes: 1 addition & 2 deletions src/doc/grammar.md
Original file line number Diff line number Diff line change
Expand Up @@ -196,8 +196,7 @@ raw_string : '"' raw_string_body '"' | '#' raw_string '#' ;
common_escape : '\x5c'
| 'n' | 'r' | 't' | '0'
| 'x' hex_digit 2
unicode_escape : 'u' hex_digit 4
| 'U' hex_digit 8 ;
unicode_escape : 'u' '{' hex_digit+ 6 '}';

hex_digit : 'a' | 'b' | 'c' | 'd' | 'e' | 'f'
| 'A' | 'B' | 'C' | 'D' | 'E' | 'F'
Expand Down
21 changes: 9 additions & 12 deletions src/doc/reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -250,8 +250,7 @@ cases mentioned in [Number literals](#number-literals) below.
##### Unicode escapes
| | Name |
|---|------|
| `\u7FFF` | 16-bit character code (exactly 4 digits) |
| `\U7EEEFFFF` | 32-bit character code (exactly 8 digits) |
| `\u{7FFF}` | 24-bit Unicode character code (up to 6 digits) |

##### Numbers

Expand Down Expand Up @@ -286,8 +285,8 @@ raw_string : '"' raw_string_body '"' | '#' raw_string '#' ;
common_escape : '\x5c'
| 'n' | 'r' | 't' | '0'
| 'x' hex_digit 2
unicode_escape : 'u' hex_digit 4
| 'U' hex_digit 8 ;

unicode_escape : 'u' '{' hex_digit+ 6 '}';

hex_digit : 'a' | 'b' | 'c' | 'd' | 'e' | 'f'
| 'A' | 'B' | 'C' | 'D' | 'E' | 'F'
Expand Down Expand Up @@ -320,12 +319,9 @@ following forms:
* An _8-bit codepoint escape_ escape starts with `U+0078` (`x`) and is
followed by exactly two _hex digits_. It denotes the Unicode codepoint
equal to the provided hex value.
* A _16-bit codepoint escape_ starts with `U+0075` (`u`) and is followed
by exactly four _hex digits_. It denotes the Unicode codepoint equal to
the provided hex value.
* A _32-bit codepoint escape_ starts with `U+0055` (`U`) and is followed
by exactly eight _hex digits_. It denotes the Unicode codepoint equal to
the provided hex value.
* A _24-bit codepoint escape_ starts with `U+0075` (`u`) and is followed
by up to six _hex digits_ surrounded by braces `U+007B` (`{`) and `U+007D`
(`}`). It denotes the Unicode codepoint equal to the provided hex value.
* A _whitespace escape_ is one of the characters `U+006E` (`n`), `U+0072`
(`r`), or `U+0074` (`t`), denoting the unicode values `U+000A` (LF),
`U+000D` (CR) or `U+0009` (HT) respectively.
Expand Down Expand Up @@ -1063,7 +1059,7 @@ mod foo {
extern crate core;

use foo::core::iter; // good: foo is at crate root
// use core::iter; // bad: native is not at the crate root
// use core::iter; // bad: core is not at the crate root
use self::baz::foobaz; // good: self refers to module 'foo'
use foo::bar::foobar; // good: foo is at crate root

Expand Down Expand Up @@ -2197,7 +2193,8 @@ The following configurations must be defined by the implementation:
`"unix"` or `"windows"`. The value of this configuration option is defined
as a configuration itself, like `unix` or `windows`.
* `target_os = "..."`. Operating system of the target, examples include
`"win32"`, `"macos"`, `"linux"`, `"android"`, `"freebsd"` or `"dragonfly"`.
`"win32"`, `"macos"`, `"linux"`, `"android"`, `"freebsd"`, `"dragonfly"` or
`"openbsd"`.
* `target_word_size = "..."`. Target word size in bits. This is set to `"32"`
for targets with 32-bit pointers, and likewise set to `"64"` for 64-bit
pointers.
Expand Down
2 changes: 1 addition & 1 deletion src/doc/trpl/comments.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,5 +43,5 @@ When writing doc comments, adding sections for any arguments, return values,
and providing some examples of usage is very, very helpful. Don't worry about
the `&str`, we'll get to it soon.

You can use the [`rustdoc`](../rustdoc.html) tool to generate HTML documentation
You can use the [`rustdoc`](documentation.html) tool to generate HTML documentation
from these doc comments.
2 changes: 1 addition & 1 deletion src/doc/trpl/strings.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ s.push_str(", world.");
println!("{}", s);
```

`String`s will coerece into `&str` with an `&`:
`String`s will coerce into `&str` with an `&`:

```
fn takes_slice(slice: &str) {
Expand Down
6 changes: 2 additions & 4 deletions src/doc/trpl/testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -552,9 +552,7 @@ extern crate test;
# struct X;
# impl X { fn iter<T, F>(&self, _: F) where F: FnMut() -> T {} } let b = X;
b.iter(|| {
let mut n = 1000_u32;

test::black_box(&mut n); // pretend to modify `n`
let n = test::black_box(1000);

range(0, n).fold(0, |a, b| a ^ b)
})
Expand All @@ -569,7 +567,7 @@ Performing either of the above changes gives the following benchmarking results

```text
running 1 test
test bench_xor_1000_ints ... bench: 1 ns/iter (+/- 0)
test bench_xor_1000_ints ... bench: 131 ns/iter (+/- 3)

test result: ok. 0 passed; 0 failed; 0 ignored; 1 measured
```
Expand Down
4 changes: 2 additions & 2 deletions src/etc/local_stage0.sh
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#!/bin/sh
# Copyright 2014 The Rust Project Developers. See the COPYRIGHT
# Copyright 2014-2015 The Rust Project Developers. See the COPYRIGHT
# file at the top-level directory of this distribution and at
# http://rust-lang.org/COPYRIGHT.
#
Expand All @@ -18,7 +18,7 @@ LIB_PREFIX=lib

OS=`uname -s`
case $OS in
("Linux"|"FreeBSD"|"DragonFly")
("Linux"|"FreeBSD"|"DragonFly"|"OpenBSD")
BIN_SUF=
LIB_SUF=.so
;;
Expand Down
1 change: 1 addition & 0 deletions src/etc/make-win-dist.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,7 @@ def make_win_dist(rust_root, gcc_root, target_triple):
"libsetupapi.a",
"libshell32.a",
"libuser32.a",
"libuserenv.a",
"libuuid.a",
"libwinhttp.a",
"libwinmm.a",
Expand Down
5 changes: 4 additions & 1 deletion src/etc/snapshot.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Copyright 2011-2014 The Rust Project Developers. See the COPYRIGHT
# Copyright 2011-2015 The Rust Project Developers. See the COPYRIGHT
# file at the top-level directory of this distribution and at
# http://rust-lang.org/COPYRIGHT.
#
Expand Down Expand Up @@ -46,6 +46,7 @@ def scrub(b):
"winnt": ["bin/rustc.exe"],
"freebsd": ["bin/rustc"],
"dragonfly": ["bin/rustc"],
"openbsd": ["bin/rustc"],
}

winnt_runtime_deps_32 = ["libgcc_s_dw2-1.dll", "libstdc++-6.dll"]
Expand Down Expand Up @@ -100,6 +101,8 @@ def get_kernel(triple):
return "freebsd"
if os_name == "dragonfly":
return "dragonfly"
if os_name == "openbsd":
return "openbsd"
return "linux"


Expand Down
2 changes: 1 addition & 1 deletion src/libbacktrace/configure
Original file line number Diff line number Diff line change
Expand Up @@ -9332,7 +9332,7 @@ if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
;;

# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
freebsd* | dragonfly*)
freebsd* | dragonfly* | openbsd*)
archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
hardcode_libdir_flag_spec='-R$libdir'
hardcode_direct=yes
Expand Down
4 changes: 2 additions & 2 deletions src/libcollections/btree/map.rs
Original file line number Diff line number Diff line change
Expand Up @@ -116,13 +116,13 @@ pub struct IntoIter<K, V> {
/// An iterator over a BTreeMap's keys.
#[stable(feature = "rust1", since = "1.0.0")]
pub struct Keys<'a, K: 'a, V: 'a> {
inner: Map<(&'a K, &'a V), &'a K, Iter<'a, K, V>, fn((&'a K, &'a V)) -> &'a K>
inner: Map<Iter<'a, K, V>, fn((&'a K, &'a V)) -> &'a K>
}

/// An iterator over a BTreeMap's values.
#[stable(feature = "rust1", since = "1.0.0")]
pub struct Values<'a, K: 'a, V: 'a> {
inner: Map<(&'a K, &'a V), &'a V, Iter<'a, K, V>, fn((&'a K, &'a V)) -> &'a V>
inner: Map<Iter<'a, K, V>, fn((&'a K, &'a V)) -> &'a V>
}

/// An iterator over a sub-range of BTreeMap's entries.
Expand Down
Loading