Commit Graph

48272 Commits

Author SHA1 Message Date
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
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
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
Ariel Ben-Yehuda
4a16b562a8 fix remaining bugs 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
c998057770 add a global evaluation cache 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
8943d5a4a4 introduce evaluate_obligation_conservatively and use it 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
9c6d35d037 evaluate projections outside the outer probe in recursive evaluation 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
f37b4fe84f put projections in RFC447 order 2015-11-15 19:22:32 +02:00
Ariel Ben-Yehuda
a43533a1f5 simplify and reduce the size of EvaluationResult 2015-11-15 19:22:32 +02:00
bors
68f8122309 Auto merge of #29846 - JanLikar:#29823, r=steveklabnik
Fix #29823 by further explaining `&str` and pointing out the
difference between `&str` and `&'static str`.
2015-11-15 15:33:23 +00:00
Jan Likar
8bcbcae866 Fix a typo 2015-11-15 14:21:13 +01:00
Jan Likar
235aca56b5 Improve Strings chapter 2015-11-15 08:14:46 +01:00
Jan Likar
2b05fdb38a Update 'Strings' chapter of the book
Fix #29823 by further explaining `&str` and pointing out the
difference between `&str` and `&'static str`.
2015-11-15 06:55:30 +01:00
bors
768630be34 Auto merge of #29840 - gereeter:move-error-no-refcell, r=sanxiyn 2015-11-15 05:09:45 +00:00
arcnmx
d84d92bbdd AUTHORS and .mailmap cleanup 2015-11-14 23:11:20 -05:00
Jonathan S
d842a54b25 Stop using dynamic borrowing in MoveErrorCollector 2015-11-14 17:39:15 -06:00
Eli Friedman
82ab7079dd Consistently normalize fn types after erasing lifetimes.
Fixes #23406.
Fixes #23958.
Fixes #29832.
2015-11-14 14:47:49 -08:00
corentih
889b0e9ace rustfmt librustc_resolve 2015-11-14 16:21:30 +01:00
Vadim Petrochenkov
0bf67d616f docs: Clarify insertion behavior for maps 2015-11-14 15:05:20 +03:00
bors
4f5edf9e38 Auto merge of #29827 - Manishearth:diag-fn-field, r=eddyb
Fixes #29043
2015-11-14 12:02:20 +00:00
Seo Sanghyeon
cce7b8bd25 Check macro definition and do not expand invalid macros 2015-11-14 19:50:46 +09:00
Seo Sanghyeon
289b1b400a Reindent code 2015-11-14 19:18:32 +09:00
Seo Sanghyeon
fdadba5786 Store TokenTree in MacroRulesMacroExpander 2015-11-14 19:11:40 +09:00
Manish Goregaokar
2b3117cabf Fix diagnostics for calling indirect extern function pointer field
Fixes #29043
2015-11-14 15:34:17 +05:30
bors
968e8bf213 Auto merge of #29819 - mdinger:block-comments, r=steveklabnik
These really aren't documented well at all. The fact that doc comments end on a `*/` is really weird. I'm not sure if this is a mistake or not though.

None of the block comments are even mentioned in the [book nightly](http://doc.rust-lang.org/nightly/book/comments.html). Probably should be fixed.
2015-11-14 09:55:32 +00:00
bors
929ca3cb51 Auto merge of #29825 - KyleMayes:move-parse-panic, r=sanxiyn
Since these functions are only used by the AST quoting syntax extensions, they should be there instead of in the parser.
2015-11-14 08:03:14 +00:00
bors
45087f36ce Auto merge of #29817 - michaelwoerister:mir-ty-closure-fields, r=nikomatsakis
Add a missing case in LvalueTy::projection_ty() that popped up earlier today.

cc @rust-lang/compiler @nikomatsakis
2015-11-14 06:08:09 +00:00