Commit Graph

32430 Commits

Author SHA1 Message Date
bors
4049a4da79 auto merge of #17109 : brson/rust/win64snap, r=alexcrichton 2014-09-10 11:45:44 +00:00
bors
8eee1b44b0 auto merge of #17095 : thestinger/rust/alloc, r=alexcrichton
Previously, some parts of this optimization were impossible because the
alignment passed to the free function was not correct. That was fully
fixed by #17012.

Closes #17092
2014-09-10 09:20:39 +00:00
OGINO Masanori
61135205e1 Add unnecessary_import_braces lint.
The lint checks any unnecessary braces around one imported item like
`use std::num::{abs};`.

Signed-off-by: OGINO Masanori <masanori.ogino@gmail.com>
2014-09-10 17:27:36 +09:00
Daniel Micay
72a92b2e14 implement sized deallocation
Closes #13994
2014-09-10 03:50:43 -04:00
Daniel Micay
92b09261e7 micro-optimize dynamic allocation alignment
Previously, some parts of this optimization were impossible because the
alignment passed to the free function was not correct. That was fully
fixed by #17012.

Closes #17092
2014-09-10 03:50:39 -04:00
bors
370f8df2ae auto merge of #17108 : steveklabnik/rust/explicitness, r=alexcrichton
I missed some annotations, and some were in a different style.
2014-09-10 07:35:41 +00:00
Steven Fackler
b865c1f28c Don't ICE on macros with -Z show-span
Closes #17115
2014-09-09 22:39:13 -07:00
bors
036f38033f auto merge of #17048 : pcwalton/rust/remove-old-import-renaming-syntax, r=brson
Instead of `extern crate foo = bar`, write `extern crate bar as foo`.
Instead of `extern crate baz = "quux"`, write `extern crate "quux" as
baz`.

Closes #16461.

[breaking-change]

r? @brson
2014-09-10 05:05:39 +00:00
bors
6ceb9b4157 auto merge of #16824 : steveklabnik/rust/string_guide_improvements, r=alexcrichton
A few steps toward https://github.com/rust-lang/rust/issues/15994
2014-09-10 03:20:40 +00:00
Patrick Walton
1bce8698cd librustc: Obsolete the old external crate renaming syntax.
Instead of `extern crate foo = bar`, write `extern crate bar as foo`.
Instead of `extern crate baz = "quux"`, write `extern crate "quux" as
baz`.

Closes #16461.

[breaking-change]
2014-09-09 19:24:06 -07:00
Brian Anderson
7864243380 Prefer lualatex, xelatex, pdflatex, in that order. #12804 2014-09-09 18:07:53 -07:00
bors
a1f4973090 auto merge of #16662 : pczarn/rust/format-fmtstr-opt, r=brson
Based on an observation that strings and arguments are always interleaved, thanks to #15832. Additionally optimize invocations where formatting parameters are unspecified for all arguments, e.g. `"{} {:?} {:x}"`, by emptying the `__STATIC_FMTARGS` array. Next, `Arguments::new` replaces an empty slice with `None` so that passing empty `__STATIC_FMTARGS` generates slightly less machine code when `Arguments::new` is inlined. Furthermore, formatting itself treats these cases separately without making redundant copies of formatting parameters.

All in all, this adds a single mov instruction per `write!` in most cases. That's why code size has increased.
2014-09-09 23:55:43 +00:00
Steve Klabnik
8ddb9c71c3 Add section about Str trait 2014-09-09 18:48:30 -04:00
Steve Klabnik
c8e5068ec9 Be explicit with rustdoc.
I missed some annotations, and some were in a different style.
2014-09-09 18:42:05 -04:00
Niko Matsakis
c4d56b7ee7 Avoid ever constructing cyclic types in the first place, rather than detecting them in resolve. This simplifies logic elsewhere in the compiler. cc #5527 2014-09-09 18:33:07 -04:00
P1start
bf274bc18b Implement tuple and tuple struct indexing
This allows code to access the fields of tuples and tuple structs:

    let x = (1i, 2i);
    assert_eq!(x.1, 2);

    struct Point(int, int);
    let origin = Point(0, 0);
    assert_eq!(origin.0, 0);
    assert_eq!(origin.1, 0);
2014-09-10 10:25:12 +12:00
Brian Anderson
5206e79b92 Fix naming of windows installer 2014-09-09 13:33:29 -07:00
Brian Anderson
3ebf25ee80 Fix snapshot.py for win64 2014-09-09 13:29:55 -07:00
bors
651106462c auto merge of #17127 : alexcrichton/rust/rollup, r=alexcrichton 2014-09-09 20:16:19 +00:00
Alex Crichton
e5abe15ff5 Test fixes from the rollup 2014-09-09 13:13:04 -07:00
Brian Anderson
cd1fabe55e Add links to forums in README.md, including discuss.rust-lang.org 2014-09-09 13:08:14 -07:00
Piotr Czarnecki
fcf88b8f87 coretest: Ensure that pointer formatting flags are cleaned up 2014-09-09 20:34:41 +01:00
Piotr Czarnecki
5aaa606932 Optimize for the most common cases of format!
Format specs are ignored and not stored in case they're all default.
Restore default formatting parameters during iteration.
Pass `None` instead of empty slices of format specs to take advantage
of non-nullable pointer optimization.

Generate a call to one of two functions of `fmt::Argument`.
2014-09-09 20:34:41 +01:00
Piotr Czarnecki
696367fb8d Decouple string and argument pieces 2014-09-09 20:34:41 +01:00
Daniel Micay
9639cafd36 fixes for Box<[T]>
The pointer in the slice must not be null, because enum representations
make that assumption. The `exchange_malloc` function returns a non-null
sentinel for the zero size case, and it must not be passed to the
`exchange_free` lang item.

Since the length is always equal to the true capacity, a branch on the
length is enough for most types. Slices of zero size types are
statically special cased to never attempt deallocation. This is the same
implementation as `Vec<T>`.

Closes #14395
2014-09-09 15:14:36 -04:00
Alex Crichton
25e08fb4fe rollup merge of #17114 : nick29581/dst-type 2014-09-09 12:07:14 -07:00
Alex Crichton
456f00eb7e rollup merge of #17107 : steveklabnik/uninitialized_bindings 2014-09-09 12:07:14 -07:00
Alex Crichton
613ae0b486 rollup merge of #17106 : treeman/test-warnings 2014-09-09 12:07:14 -07:00
Alex Crichton
a9d8f295e0 rollup merge of #17101 : pcwalton/for-loop-borrowck 2014-09-09 12:07:13 -07:00
Alex Crichton
6b487ebbc0 rollup merge of #17096 : TeXitoi/relicense-shootout-chameneos-redux 2014-09-09 12:07:13 -07:00
Alex Crichton
e561a28b98 rollup merge of #17093 : nathantypanski/17021 2014-09-09 12:07:13 -07:00
Alex Crichton
b00db6801e rollup merge of #17090 : alexcrichton/rustdoc-no-strip 2014-09-09 12:07:13 -07:00
Alex Crichton
c9b1e836c5 rollup merge of #17087 : DanAlbert/llvm-3.6 2014-09-09 12:07:13 -07:00
Alex Crichton
e6b0784903 rollup merge of #17085 : jakub-/issue-17074 2014-09-09 12:07:13 -07:00
Alex Crichton
b8dd7d5056 rollup merge of #17080 : treeman/issue-17066 2014-09-09 12:07:12 -07:00
Alex Crichton
83e4653404 rollup merge of #17077 : TeXitoi/relicense-shootout-nbody 2014-09-09 12:07:12 -07:00
Alex Crichton
d0cd01104c rollup merge of #17070 : TeXitoi/relicense-shootout-reverse-complement.rs 2014-09-09 12:07:12 -07:00
Alex Crichton
2703fcf988 rollup merge of #17062 : nathantypanski/generic-lifetime-trait-impl 2014-09-09 12:07:12 -07:00
Alex Crichton
e8e62393bb rollup merge of #17061 : nathantypanski/test-borrowck-trait 2014-09-09 12:07:12 -07:00
Alex Crichton
8158463122 rollup merge of #17054 : pcwalton/subslice-syntax 2014-09-09 12:07:12 -07:00
Alex Crichton
2c66c296db rollup merge of #17052 : pcwalton/feature-gate-subslices 2014-09-09 12:07:11 -07:00
Alex Crichton
fb3c67a65c rollup merge of #17040 : kmcallister/borrow-extctxt 2014-09-09 12:07:11 -07:00
Alex Crichton
d1d9d195c9 rollup merge of #17020 : nodakai/libnative-c_int 2014-09-09 12:07:11 -07:00
Alex Crichton
a0b3701a21 rollup merge of #17013 : rgawdzik/literal_int 2014-09-09 12:07:11 -07:00
Alex Crichton
f48b701213 rollup merge of #17008 : nick29581/impl2 2014-09-09 12:07:11 -07:00
Alex Crichton
679b4e1b38 rollup merge of #16971 : treeman/json-decode 2014-09-09 12:07:11 -07:00
Stuart Pernsteiner
ba43f7bc8c ignore uninitialized submodules when checking if ./configure should be re-run 2014-09-09 11:33:53 -07:00
Jakub Wieczorek
28bc56828f Change method lookup to require invariance for mutable references
Fixes #17033.
Fixes #15965.
2014-09-09 20:25:31 +02:00
bors
b625d43f8f auto merge of #16927 : dotdash/rust/llvmup, r=alexcrichton 2014-09-09 17:16:18 +00:00
bors
504ed55775 auto merge of #16827 : steveklabnik/rust/fix_doc_index, r=brson
Fixes #14972
2014-09-09 13:26:16 +00:00