Commit Graph

48350 Commits

Author SHA1 Message Date
Jeffrey Seyfried
572c2f3e07 Fix issue #21546 and refactor NsDef 2015-11-17 09:10:41 +00:00
Oliver Schneider
96cfac6301 add unit test for the new and the changed errors 2015-11-17 10:00:34 +01:00
bors
1b2614847d Auto merge of #29837 - Wafflespeanut:unicode_chars, r=Manishearth
fixes #25957
2015-11-17 07:42:03 +00:00
Ravi Shankar
7f63c7cf4c Detect confusing unicode characters and show the alternative 2015-11-17 12:14:28 +05:30
bors
c124cd523a Auto merge of #29870 - petrochenkov:typaren, r=nrc
Like d21bfff78c, but for the type grammar.

r? @nrc
2015-11-17 05:55:07 +00:00
bors
3037b29a93 Auto merge of #29860 - steveklabnik:stackheapfixes, r=huonw
Fixes #29853
Fixes #29852

While these points are true, we're not going for 100% accuracy here,
this is introductory material. Changing these things would be more
confusing, but it is important to note that we're presenting an
abstraction here.

r? @huonw
2015-11-17 04:08:11 +00:00
Jean Maillard
4ff4d32206 Fix grammar
Change conditional perfect to past perfect.
2015-11-17 02:39:09 +00:00
bors
4bd302ee9f Auto merge of #29794 - semarie:openbsd-stdcpp-path, r=alexcrichton
under openbsd, the library path of libstdc++ need to be explicit (due
to the fact the default linker `cc` is gcc-4.2, and not gcc-4.9).

but when a recent LLVM is installed, rustc compilation pikes the bad
LLVM version (which live in /usr/local/lib, which is same directory of
libestdc++.so for gcc-4.9).

this patch move the libstdc++ path from RUST_FLAGS_<target> to special
variable, and use it *after* LLVM_LIBDIR_RUSTFLAGS_<target> in
arguments.

r? @alexcrichton
2015-11-17 02:21:20 +00:00
Ole Krüger
8600fefd9c Fix libc module name for FreeBSD 2015-11-17 01:53:06 +01:00
bors
a7644b33d9 Auto merge of #29297 - tbu-:pr_env_ignore_malformed, r=alexcrichton
Otherwise, the iterator and the functions for getting specific
environment variables might disagree, for environments like

    FOOBAR
2015-11-17 00:31:20 +00:00
William Throwe
ea798b9e25 Fix --libdir installs
Rather than modifying the installer to disable directory rewriting,
this patch modifies the directory structure passed to the installer so
that the rewriting gives the correct results.  This means that if a
non-standard --libdir is passed to configure then the same --libdir
option (relative to the --prefix) must be passed to the install
script.  In the `make install` case this is handled automatically.
Binary distributions are generally generated using the default
--libdir and then have paths optionally rewritten by the installer,
which should continue to work.

This has the advantage of not complicating the installer interface
intended for end-user use.

Fixes #29561
2015-11-16 18:55:07 -05:00
Steve Klabnik
e4a0b48027 Make note about traits that can be derived
in their API docs

Fixes #29711
2015-11-16 18:50:40 -05:00
Tobias Bucher
87243bcce8 Ignore malformed environment strings like glibc does
Otherwise, the iterator and the functions for getting specific
environment variables might disagree, for environments like

    FOOBAR

Variable names starting with equals sign are OK:

glibc only interprets equals signs not in the first position as
separators between variable name and variable value. Instead of skipping
them entirely, a leading equals sign is interpreted to be part of the
variable name.
2015-11-16 23:32:36 +00:00
Doug Goldstein
19bd051c86 mk/platform: support i486 and i586 target CHOST
On distros that use i486 or i586 in their CHOST, Rust will fail to build
because it is not handling i486 or i586 like i686 is handled. This
changes the match to do work for all instances of i?86 instead of just
i686. The Yocto Project still uses i586 as a target.

Signed-off-by: Doug Goldstein <cardoe@cardoe.com>
2015-11-16 17:07:45 -06:00
bors
9f49ea0f4b Auto merge of #29872 - steveklabnik:rollup, r=steveklabnik
- Successful merges: #29549, #29796, #29843, #29863, #29865
- Failed merges:
2015-11-16 22:43:32 +00:00
Steve Klabnik
646128d79a Remove nomicon reference to copy_lifetime
Fixes #29784
2015-11-16 16:58:52 -05:00
Steve Klabnik
9e25a1ccd3 Improve UFCS example
Fixes #29493
2015-11-16 16:51:58 -05:00
Steve Klabnik
0050895637 Rollup merge of #29865 - apasel422:mutex, r=alexcrichton
r? @alexcrichton
2015-11-16 16:22:48 -05:00
Steve Klabnik
bc6c16d4cb Rollup merge of #29863 - steveklabnik:gh29526, r=alexcrichton
Fixes #29526
2015-11-16 16:22:48 -05:00
Steve Klabnik
3252aeb22d Rollup merge of #29843 - arcnmx:authors, r=brson
Duplicate entries removed. This doesn't quite completely allow for generating AUTHORS.txt from scratch but it's much closer now.
2015-11-16 16:22:48 -05:00
Steve Klabnik
4c12530575 Rollup merge of #29796 - barosl:unresolved-import-extern-crate, r=steveklabnik
The command-line error message for E0432 does mention the possibility of missing the `extern crate` declaration, but the detailed error message for it doesn't.

Fixes #29517.
2015-11-16 16:22:48 -05:00
Steve Klabnik
f0b719d41e Rollup merge of #29549 - brson:docidx, r=steveklabnik
I noticed the nomicon was not listed!

I also removed links to racer and rustfmt since they were not *doc-specific* links, just links to tools, as well as pointed the cargo link directly at the docs.

Removed all the community stuff. There are lots of other places to find this now, including the website.

With pending website changes this page will continue to be pared back, reflecting only what's in-tree, not general Rust docs.

r? @steveklabnik
2015-11-16 16:22:47 -05:00
bors
73cfcc60e1 Auto merge of #29862 - ranma42:const_min_max, r=alexcrichton
They can be useful for constructing constant items.
2015-11-16 20:53:59 +00:00
Vadim Petrochenkov
4a850159cd Remove TyParen from HIR 2015-11-16 22:49:47 +03:00
Brian Anderson
5cc0a37123 Minor tweaks to doc index 2015-11-16 11:48:18 -08:00
bors
99093b79f1 Auto merge of #29580 - alexbool:smart-pointer-conversion, r=alexcrichton
Sometimes when writing generic code you want to abstract over
owning/pointer type so that calling code isn't restricted by one
concrete owning/pointer type. This commit makes possible such code:
```rust
fn i_will_work_with_arc<T: Into<Arc<MyTy>>>(t: T) {
    let the_arc = t.into();
    // Do something
}

i_will_work_with_arc(MyTy::new());

i_will_work_with_arc(Box::new(MyTy::new()));

let arc_that_i_already_have = Arc::new(MyTy::new());
i_will_work_with_arc(arc_that_i_already_have);
```

Please note that this patch doesn't work with DSTs.
Also to mention, I made those impls stable, and I don't know whether they should be actually stable from the beginning. Please tell me if this should be feature-gated.
2015-11-16 19:06:52 +00:00
Vadim Petrochenkov
a6cbb97d10 Do not generate comparefoo.gv and simpleeq.gv during testing 2015-11-16 21:16:44 +03:00
Andrew Paseltiner
55ca089694 Correct comment in Mutex example 2015-11-16 12:56:18 -05:00
bors
3042fedb4f Auto merge of #29805 - norcalli:patch-1, r=steveklabnik
Fixes #29730
2015-11-16 17:18:21 +00:00
Steve Klabnik
ca4ab32a1e Nomicon: mention tuple structs with repr(c)
Fixes #29526
2015-11-16 12:04:25 -05:00
Andrea Canciani
c545b33a7d Make min_value() and max_value() const functions 2015-11-16 17:47:56 +01:00
Steve Klabnik
54db4d6c68 Reaffirm that this is an abstraction
Fixes #29853
Fixes #29852

While these points are true, we're not going for 100% accuracy here,
this is introductory material. Changing these things would be more
confusing, but it is important to note that we're presenting an
abstraction here.
2015-11-16 10:38:25 -05:00
bors
57c8a3e8b6 Auto merge of #29830 - petrochenkov:mapdoc, r=alexcrichton
r? @steveklabnik
2015-11-16 11:08:50 +00:00
Oliver Schneider
d09220de13 rename ast::ImplItem_::*ImplItem to ast::ImplItemKind::* 2015-11-16 10:35:30 +01:00
Oliver Schneider
e36872da5b ImplItem_ -> ImplItemKind rename 2015-11-16 10:35:30 +01:00
Oliver Schneider
eaaa60dbea rename ImplItem_::*ImplItem to ImplItem_::*
[breaking change]
2015-11-16 10:34:45 +01:00
bors
94ec5f8f89 Auto merge of #29851 - shahn:hashset_doc_fix, r=steveklabnik
insert() returns bool, but it was wrongly stated that if the set had the
key already present, that key would be returned (this was probably
copied from the HashMap docs). Also remove a reference to the
module-level documentation, which doesn't make sense as it doesn't give
any more context.

r? @steveklabnik
2015-11-16 09:22:51 +00:00
Alexander Bulaev
67c07d4450 Fix feature name 2015-11-16 11:04:17 +03:00
Jeffrey Seyfried
8a6187fde1 Refactor fields def_id and kind of Module into a single field def.
Change build_reduced_graph.rs so the fields def and module of NsDef are never both Some unless the NsDef represents a duplicate definition (see issue 26421).
2015-11-16 07:59:50 +00:00
bors
af5d9d65e7 Auto merge of #29845 - wthrowe:libdir, r=alexcrichton
This should get `--libdir` working as well as it was a couple of weeks ago.  (That is, it still rewrites paths incorrectly but it no longer fails during `make install`.)

Fixes gentoo/gentoo-rust#28 and gentoo/gentoo-rust#29.
2015-11-16 07:34:05 +00:00
bors
bf78389656 Auto merge of #29828 - sanxiyn:check-macro, r=nrc
Fix #27409.
2015-11-16 05:48:35 +00:00
Sebastian Hahn
2569747d18 Fix docs for HashSet::insert
insert() returns bool, but it was wrongly stated that if the set had the
key already present, that key would be returned (this was probably
copied from the HashMap docs). Also remove a reference to the
module-level documentation, which doesn't make sense as it doesn't give
any more context.
2015-11-16 06:32:58 +01:00
William Throwe
2b98d4fa55 Prepare to the correct directory with --libdir
This is to handle the case where CFG_LIBDIR is not a direct child of
CFG_PREFIX (in other words, where CFG_LIBDIR_RELATIVE has more than
one component).
2015-11-15 21:15:56 -05:00
Jeffrey Seyfried
ceda8383c9 Replace TypeNsDef and ValueNsDef with a more general type NsDef.
Define a newtype `NameBinding` for `Rc<RefCell<Option<NsDef>>>` and refactor `NameBindings` to be a `NameBinding` for each namespace.

Replace uses of `NameBindings` with `NameBinding` where only one binding is being used (in `NamespaceResult`, `Target,` etc).

Refactor away `resolve_definition_of_name_in_module` and `NameDefinition`.
2015-11-16 02:10:09 +00:00
bors
531b0539b7 Auto merge of #29788 - mitaa:module_name, r=arielb1
f357d55 caused a regression by retrieving item names from metadata, while previously using the last element of its absolute path (which in the case of a root module is the prefixed crate name since the stored path in metadata is empty)

fixes #28927
2015-11-15 23:58:26 +00:00
bors
b7845f93b5 Auto merge of #29387 - little-dude:rustfmt_librustc_resolve, r=nrc
Another rustfmt PR.
I ran rustfmt, then split the changes in multiple commits. First commit are the non-problematic changed. The others are all the little weirdness that caught my attention and could be discussed.
2015-11-15 22:07:12 +00:00
bors
19abaf807d Auto merge of #29836 - eefriedman:normalize-fn, r=arielb1
Fixes #23406.
Fixes #23958.
Fixes #29832.

CC @arielb1
2015-11-15 20:19:57 +00:00
bors
e4309c2db6 Auto merge of #29209 - arielb1:exponential-evaluation, r=nmatsakis
This fixes an exponential worst-case and also provides an additional 1% perf improvement.

r? @nikomatsakis
2015-11-15 18:26:18 +00:00
Ariel Ben-Yehuda
5982594c7e address review comments 2015-11-15 20:11:42 +02:00
Ariel Ben-Yehuda
f921982e60 fix pretty 2015-11-15 19:22:32 +02:00