Commit Graph

36502 Commits

Author SHA1 Message Date
Alex Crichton
0f1bd6f105 rollup merge of #20623: jroesch/reject-non-param-bounds
This closes #20019, and should reject any where clauses placed on types not involving type parameters.

r? @nikomatsakis
2015-01-06 15:25:00 -08:00
Alex Crichton
6ccfd3f2c8 rollup merge of #20612: retep998/winsize
This calculates the width and height using the bounding box of the window in the buffer. Bounding box coordinates are inclusive so I have to add 1 to both dimensions.
2015-01-06 15:24:58 -08:00
Alex Crichton
cc20935ad8 rollup merge of #20570: sanxiyn/no-analysis 2015-01-06 15:24:55 -08:00
Alex Crichton
f358dbf1e7 rollup merge of #20557: cactorium/prettyprinters
As per https://github.com/rust-lang/rust/issues/20405. To be more precise, the changes just the processing of enums when the name is "RUST$ENCODED$ENUM$..." so it correctly parses when there is more than one number encoding the location of the field it's looking for to determine state of the enum
2015-01-06 15:24:52 -08:00
Alex Crichton
e2f97f51ad Register new snapshots
Conflicts:
	src/librbml/lib.rs
	src/libserialize/json_stage0.rs
	src/libserialize/serialize_stage0.rs
	src/libsyntax/ast.rs
	src/libsyntax/ext/deriving/generic/mod.rs
	src/libsyntax/parse/token.rs
2015-01-06 15:24:24 -08:00
Alex Crichton
5c3ddcb15d rollup merge of #20481: seanmonstar/fmt-show-string
Conflicts:
	src/compiletest/runtest.rs
	src/libcore/fmt/mod.rs
	src/libfmt_macros/lib.rs
	src/libregex/parse.rs
	src/librustc/middle/cfg/construct.rs
	src/librustc/middle/dataflow.rs
	src/librustc/middle/infer/higher_ranked/mod.rs
	src/librustc/middle/ty.rs
	src/librustc_back/archive.rs
	src/librustc_borrowck/borrowck/fragments.rs
	src/librustc_borrowck/borrowck/gather_loans/mod.rs
	src/librustc_resolve/lib.rs
	src/librustc_trans/back/link.rs
	src/librustc_trans/save/mod.rs
	src/librustc_trans/trans/base.rs
	src/librustc_trans/trans/callee.rs
	src/librustc_trans/trans/common.rs
	src/librustc_trans/trans/consts.rs
	src/librustc_trans/trans/controlflow.rs
	src/librustc_trans/trans/debuginfo.rs
	src/librustc_trans/trans/expr.rs
	src/librustc_trans/trans/monomorphize.rs
	src/librustc_typeck/astconv.rs
	src/librustc_typeck/check/method/mod.rs
	src/librustc_typeck/check/mod.rs
	src/librustc_typeck/check/regionck.rs
	src/librustc_typeck/collect.rs
	src/libsyntax/ext/format.rs
	src/libsyntax/ext/source_util.rs
	src/libsyntax/ext/tt/transcribe.rs
	src/libsyntax/parse/mod.rs
	src/libsyntax/parse/token.rs
	src/test/run-pass/issue-8898.rs
2015-01-06 15:22:24 -08:00
Alex Crichton
5f27b50080 rollup merge of #20609: cmr/mem 2015-01-06 15:07:48 -08:00
Alex Crichton
1afe8a4fb8 rollup merge of #20562: nick29581/arrays-3 2015-01-06 15:05:53 -08:00
Nick Cameron
0c7f7a5fb8 fallout 2015-01-07 12:02:52 +13:00
Sean McArthur
44440e5c18 core: split into fmt::Show and fmt::String
fmt::Show is for debugging, and can and should be implemented for
all public types. This trait is used with `{:?}` syntax. There still
exists #[derive(Show)].

fmt::String is for types that faithfully be represented as a String.
Because of this, there is no way to derive fmt::String, all
implementations must be purposeful. It is used by the default format
syntax, `{}`.

This will break most instances of `{}`, since that now requires the type
to impl fmt::String. In most cases, replacing `{}` with `{:?}` is the
correct fix. Types that were being printed specifically for users should
receive a fmt::String implementation to fix this.

Part of #20013

[breaking-change]
2015-01-06 14:49:42 -08:00
Nick Cameron
791f545685 Pretty print empty structs properly 2015-01-07 10:49:00 +13:00
Nick Cameron
480374a696 Only use built-in indexing for uint indexes 2015-01-07 10:49:00 +13:00
Nick Cameron
77ed497456 Tests 2015-01-07 10:49:00 +13:00
Nick Cameron
e970db37a9 Remove old slicing hacks and make new slicing work 2015-01-07 10:49:00 +13:00
Corey Richardson
5a4ca31918 test fallout from isize/usize 2015-01-06 16:48:33 -05:00
Nick Cameron
f7ff37e4c5 Replace full slice notation with index calls 2015-01-07 10:46:33 +13:00
Nick Cameron
918255ef8c Impls using the new scheme for slicing 2015-01-07 10:24:19 +13:00
Corey Richardson
abcbe27695 syntax/rustc: implement isize/usize 2015-01-06 15:15:07 -05:00
bors
ea6f65c5f1 auto merge of #20633 : vhbit/rust/ios-cstring, r=brson 2015-01-06 19:47:08 +00:00
bors
6539cb417f auto merge of #20618 : alexcrichton/rust/less-warn, r=brson
This warning has been around in the compiler for quite some time now, but the
real place for a warning like this, if it should exist, is in Cargo, not in the
compiler itself. It's a first-class feature of Cargo that multiple versions of a
crate can be compiled into the same executable, and we shouldn't be warning
about our first-class features.
2015-01-06 16:42:43 +00:00
Alex Crichton
9d0b3c9fc9 rustc: Turn off multiple versions of crate warning
This warning has been around in the compiler for quite some time now, but the
real place for a warning like this, if it should exist, is in Cargo, not in the
compiler itself. It's a first-class feature of Cargo that multiple versions of a
crate can be compiled into the same executable, and we shouldn't be warning
about our first-class features.
2015-01-06 08:22:59 -08:00
bors
8efd9901b6 auto merge of #20573 : huonw/rust/num-stab-2, r=alexcrichton
cc #19260 

Open questions:

- I still feel weird about marking functions like `exp` as `#[stable]` in `core` since they're highly likely to call into libm which is theoretically something core is designed to avoid and so we may be forced/want to move it at some point in the future, and so it feels like a lie to call it `#[stable]` (I know `core` is `#[experimental]`, but still...)
- `abs_sub` is a horrible name IMO: it feels like it is `(a - b).abs()`, but it is actually `(a - b).max(0.)`. maybe something along the lines of `pos_diff` ("positive difference") is better.
- the associated-function nature of `Int::from_be` and `Int::from_le` feel strange to me, it feels like they should be methods, but I cannot think of a good name.

I'm also not hugely in favour of `ldexp` and `frexp` but the precedent from C is large. (e.g. AFAICT,  `ldexp` must mean "load exponent" which is essentially what it does... but only for a subset of its inputs.)
2015-01-06 13:30:29 +00:00
Valerii Hiora
72e08006da iOS: CString fallout 2015-01-06 15:21:04 +02:00
Huon Wilson
f3a80ab9d2 Apply stability attributes to core::num::{Int, SignedInt, UnsignedInt}. 2015-01-06 23:21:27 +11:00
Huon Wilson
49feb0c431 Unstabilise f32/f64 constants that are int/uint.
Pending integer conventions.
2015-01-06 23:21:27 +11:00
Huon Wilson
65922dd42d Apply stability attributes to std::num::Float. 2015-01-06 23:21:27 +11:00
Huon Wilson
ae4762761c Merge core::num::Float and std::num::FloatMath.
`FloatMath` no longer exists and all functionality from both traits is
available under `Float`. Change from

    use std::num::{Float, FloatMath};

to

    use std::num::Float;

[breaking-change]
2015-01-06 23:21:27 +11:00
Huon Wilson
1291fc76e0 Reword unstability message for core::num::Float. 2015-01-06 23:21:01 +11:00
Huon Wilson
cd4ed38404 Deprecate the constant-returning functions in Float.
These are replaced by the equivalent constants in `std::f32` and
`std::f64` respectively.

[breaking-change]
2015-01-06 23:21:01 +11:00
Huon Wilson
cfb2e2acd7 num: remove deprecated functionality. 2015-01-06 23:21:01 +11:00
Jared Roesch
b683e879e4 Add check to ensure trait bounds are only placed o
Add check to ensure trait bounds are only placed on
ty_param
2015-01-06 03:54:53 -08:00
bors
340ac040f7 auto merge of #20610 : alexcrichton/rust/rollup, r=alexcrichton 2015-01-06 08:25:32 +00:00
Alex Crichton
4b359e3aee More test fixes! 2015-01-05 22:58:37 -08:00
Peter Atashian
351e6b7255 Implement TTY::get_winsize for Windows
Signed-off-by: Peter Atashian <retep998@gmail.com>
2015-01-06 00:54:09 -05:00
Alex Crichton
ee9921aaed Revert "Remove i suffix in docs"
This reverts commit f031671c6e.

Conflicts:
	src/libcollections/slice.rs
	src/libcore/iter.rs
	src/libstd/sync/mpsc/mod.rs
	src/libstd/sync/rwlock.rs
2015-01-05 19:08:37 -08:00
Alex Crichton
f331c56869 Test fixes 2015-01-05 19:07:07 -08:00
Alex Crichton
7975fd9cee rollup merge of #20482: kmcallister/macro-reform
Conflicts:
	src/libflate/lib.rs
	src/libstd/lib.rs
	src/libstd/macros.rs
	src/libsyntax/feature_gate.rs
	src/libsyntax/parse/parser.rs
	src/libsyntax/show_span.rs
	src/test/auxiliary/macro_crate_test.rs
	src/test/compile-fail/lint-stability.rs
	src/test/run-pass/intrinsics-math.rs
	src/test/run-pass/tcp-connect-timeouts.rs
2015-01-05 19:01:17 -08:00
Alex Crichton
563f6d8218 rollup merge of #20608: nikomatsakis/assoc-types-method-dispatch 2015-01-05 18:56:45 -08:00
Alex Crichton
384e218789 Merge remote-tracking branch 'nrc/sized-2' into rollup
Conflicts:
	src/liballoc/boxed.rs
	src/libcollections/btree/map.rs
	src/libcollections/slice.rs
	src/libcore/borrow.rs
	src/libcore/cmp.rs
	src/libcore/ops.rs
	src/libstd/c_str.rs
	src/libstd/collections/hash/map.rs
	src/libsyntax/parse/obsolete.rs
	src/test/compile-fail/unboxed-closure-sugar-default.rs
	src/test/compile-fail/unboxed-closure-sugar-equiv.rs
	src/test/compile-fail/unboxed-closure-sugar-lifetime-elision.rs
	src/test/compile-fail/unboxed-closure-sugar-region.rs
	src/test/compile-fail/unsized3.rs
	src/test/run-pass/associated-types-conditional-dispatch.rs
2015-01-05 18:55:41 -08:00
Niko Matsakis
e58f1bdc03 Normalize predicates during method winnowing.
Fixes #20604.
Fixes #20378.
2015-01-05 21:50:23 -05:00
Niko Matsakis
2a1ba2f1ac Permit method calls based on where clauses. 2015-01-05 21:50:22 -05:00
Alex Crichton
afbce050ca rollup merge of #20556: japaric/no-for-sized
Conflicts:
	src/libcollections/slice.rs
	src/libcollections/str.rs
	src/libcore/borrow.rs
	src/libcore/cmp.rs
	src/libcore/ops.rs
	src/libstd/c_str.rs
	src/test/compile-fail/issue-19009.rs
2015-01-05 18:47:45 -08:00
Alex Crichton
cf8a11e98b rollup merge of #20594: nikomatsakis/orphan-ordered
Conflicts:
	src/libsyntax/feature_gate.rs
2015-01-05 18:42:34 -08:00
Alex Crichton
f3ad232022 rollup merge of #20584: brson/versioning
Also, change the version number to 1.0.0.
2015-01-05 18:42:08 -08:00
Alex Crichton
4c549786fa rollup merge of #20583: csouth3/vim-syntax
The prelude has changed quite a bit since the list that Vim is aware of has been updated.  This pull request brings it up to date with `std::prelude`.
2015-01-05 18:42:06 -08:00
Alex Crichton
de78419b8d rollup merge of #20581: apasel422/extend 2015-01-05 18:42:04 -08:00
Alex Crichton
b24431970e rollup merge of #20568: huonw/ungate-AT-globs
These aren't in their final form, but are all aiming to be part of 1.0, so at the very least encouraging usage now to find the bugs is nice.

Also, the widespread roll-out of associated types in the standard library indicates they're getting good, and it's lame to have to activate a feature in essentially every crate ever.
2015-01-05 18:42:00 -08:00
Alex Crichton
cda6acb2f1 rollup merge of #20566: zsiciarz/fix-stdext-docs 2015-01-05 18:41:59 -08:00
Alex Crichton
83c890b454 rollup merge of #20565: alexcrichton/missing-stability
Conflicts:
	src/libstd/sync/mpsc/mod.rs
2015-01-05 18:41:55 -08:00
Alex Crichton
59bbf56d49 rollup merge of #20564: bombless/patch-3
Update keyword list according to https://github.com/rust-lang/rust/blob/master/src/libsyntax/parse/token.rs
2015-01-05 18:41:23 -08:00