Commit Graph

33913 Commits

Author SHA1 Message Date
bors
6ee56c9a5f auto merge of #18688 : bkoropoff/rust/unboxed-closure-subst-fixes, r=nikomatsakis
This resolves some issues that remained after adding support for monomorphizing unboxed closures in trans.

There were a few places where a set of substitutions for an unboxed closure type were dropped on the floor and later recalculated from scratch based on the def ID, but this failed spectacularly when the closure originated from a different param environment.  The substitutions are now plumbed through end-to-end.  Closes #18661

There was also a conflict in the meaning of the self param space within the body of the unboxed closure.  Trans attempted to insert the unboxed closure type as the self type, but this could conflict with the self type from the param environment when an unboxed closure was used within a default method on a trait.  Since the body of an unboxed closure cannot refer to its own self type or value, there's no need for it to actually use the self space.  The downstream consumers of the substitutions in trans do not seem to need it either since they look up the type of the closure some other way, so I just stopped setting it.  Closes #18685.

r? @pcwalton @nikomatsakis
2014-11-07 20:41:29 +00:00
bors
0a3cbf8cf4 auto merge of #18673 : VHaravy/rust/issue-18632, r=alexcrichton
1. Introduce `putpathvar` function that prints variable shell-quoted by using `%q` format specifier. This function is used within `probe` to save the result into `config.tmp`.
2. Removes search-and-replace pattern that transforms `\` into `/` as it messes up shell-quoted strings.
2014-11-07 18:46:25 +00:00
bors
0b48001c28 auto merge of #17830 : pczarn/rust/interp_tt, r=pnkfelix
Closes #14197

Removes the `matchers` nonterminal.

If you're using `$foo:matchers` in a macro, write `$foo:tt` instead.

[breaking-change]
2014-11-07 15:26:26 +00:00
bors
223ca76439 auto merge of #18721 : SimonSapin/rust/safer-enumset, r=alexcrichton
Assert at run time instead. Fixes #13756.

I’d rather have this be detected at compile-time, but I don’t know how to do that.
2014-11-07 13:31:25 +00:00
Vitali Haravy
c7a0b9c562 Do not put double quotes around empty variables. 2014-11-07 13:17:11 +00:00
bors
97a57ec909 auto merge of #18714 : nikomatsakis/rust/issue-18621-deref-for-refs, r=aturon
libs: add Deref, DerefMut impls for references, fixing a bug in compiler in the process that was blocking this.

r? @aturon
2014-11-07 11:31:25 +00:00
bors
932eec7d70 auto merge of #18698 : japaric/rust/index, r=alexcrichton
Closes #16529

r? @aturon
2014-11-07 09:31:50 +00:00
Piotr Czarnecki
00676c8ea2 Add ast::SequenceRepetition 2014-11-07 10:21:57 +01:00
Piotr Czarnecki
964191a313 Add and update tests 2014-11-07 10:21:50 +01:00
bors
a0a7ab4612 auto merge of #18672 : brandonson/rust/functional-update-walk, r=nikomatsakis
Fixes #18567. `Struct{x:foo, .. with_expr}` did not walk `with_expr`, which allowed
using moved variables in some cases.  The CFG for structs also built up with
`with_expr` happening before the fields, which is now reversed. (Fields are now
before the `with_expr` in the CFG)
2014-11-07 07:16:33 +00:00
Niko Matsakis
f2aaed8338 libs: add Deref, DerefMut impls for references, fixing a bug in compiler in the process that was blocking this.
Fixes #18621.
2014-11-06 21:51:40 -05:00
Brian Koropoff
ddb17b239b Add regression test for #18685 2014-11-06 18:17:58 -08:00
Brian Koropoff
d317039b22 Add regression test for #18661 2014-11-06 18:17:58 -08:00
Brian Koropoff
daa215e8c5 Fix handling of unboxed closure type param substitutions
- When selecting an implicit trait impl for an unboxed closure, plumb
  through and use the substitutions from impl selection instead of
  using those from the current param environment in trans, which may
  be incorrect.
- When generating a function declaration for an unboxed closure, plumb
  through the substitutions from the param environment of the closure
  as above.  Also normalize the type to avoid generating duplicate
  declarations due to regions being inconsistently replaced with
  ReStatic elsewhere.
- Do not place the closure type in the self param space when
  translating the unboxed closure callee, etc.  It is not actually
  used, and doing so conflicts with the self substitution from
  default trait methods.

Closes #18661
Closes #18685
2014-11-06 18:17:57 -08:00
Simon Sapin
d8ab2f87c1 Add example impl in CLike docs. Fix 13752. 2014-11-06 18:16:18 -08:00
Simon Sapin
a22772d6a6 EnumSet assertion: better error message. 2014-11-06 18:16:17 -08:00
Simon Sapin
1fdb759527 Make EnumSet not silently corrupt data.
Assert at run time instead. Fixes #13756.

I’d rather have this be detected at compile-time, but I don’t know how to do that.
2014-11-06 18:15:59 -08:00
bors
b03a275519 auto merge of #18713 : juxiliary/rust/master, r=alexcrichton
* `from_str_radix_float` gives incorrect results for negative float strings. Changes the accumulator used to start at -0.0 instead of -1.0.
* Adds missing tests
2014-11-07 02:11:27 +00:00
Jorge Aparicio
f7c1771fd1 Implement Index/IndexMut for [T]
Closes #16529
2014-11-06 21:11:19 -05:00
bors
45cbdec417 auto merge of #18719 : alexcrichton/rust/rollup, r=alexcrichton 2014-11-07 00:02:18 +00:00
Alex Crichton
d27039d701 rollup merge of #18709 : alexcrichton/fix-windows 2014-11-06 15:55:46 -08:00
Alex Crichton
2655abdd39 fix EnumSet::is_subset
Fix by @Gankro!
2014-11-06 15:41:50 -08:00
Alex Crichton
65805bffe7 Test fixes and rebase conflicts 2014-11-06 14:18:07 -08:00
Alex Crichton
03006c7300 rollup merge of #18625 : alexcrichton/no-more-rlibc 2014-11-06 13:53:27 -08:00
Alex Crichton
e4cf9c4b58 rollup merge of #18691 : subhashb/add_clone_trait_to_filetype 2014-11-06 13:53:27 -08:00
Alex Crichton
f87ff765fe rollup merge of #18654 : michaelwoerister/lldb-test-timeout 2014-11-06 13:53:27 -08:00
Alex Crichton
3c81f33ada rollup merge of #18708 : qwitwa/master 2014-11-06 13:53:26 -08:00
Alex Crichton
953302f85f rollup merge of #18707 : japaric/moar-dst 2014-11-06 13:53:26 -08:00
Alex Crichton
2a3f0bb657 rollup merge of #18705 : fabricedesre/patch-1 2014-11-06 13:53:26 -08:00
Alex Crichton
0047b84a00 rollup merge of #18696 : tshakah/patch-1 2014-11-06 13:53:26 -08:00
Alex Crichton
15e5779ae0 rollup merge of #18695 : steveklabnik/gh17023 2014-11-06 13:53:26 -08:00
Alex Crichton
ec983c684b rollup merge of #18684 : nathan7/patch-1 2014-11-06 13:53:26 -08:00
Alex Crichton
11a4f7b4c9 rollup merge of #18683 : thestinger/typo 2014-11-06 13:53:25 -08:00
Alex Crichton
90bfcec323 rollup merge of #18679 : brson/lint-trait 2014-11-06 13:53:25 -08:00
Alex Crichton
b39f1dcba0 Remove rlibc from the distribution
To make progress on #18585 we're paring down the distribution to theoretically
"only libstd", and this commit makes progress on this by removing the rlibc
crate from the distribution.

The crate has now been moved into an external cargo package located in the rust
lang organization [1]. This is a breaking change due to this removal, and
existing crates depending on `rlibc` should use the Cargo crate instead.

[1]: https://github.com/rust-lang/rlibc

[breaking-change]
cc #18585
2014-11-06 13:37:55 -08:00
Alex Crichton
29b2b58315 rollup merge of #18665 : scribu/patch-1 2014-11-06 13:32:01 -08:00
Alex Crichton
6783afcc17 rollup merge of #18664 : klutzy/getrandom 2014-11-06 13:31:58 -08:00
Alex Crichton
fa530fff51 rollup merge of #18656 : thiagopnts/rename-deprecated-non_uppercase_statics 2014-11-06 13:31:54 -08:00
Alex Crichton
4fa22d951f rollup merge of #18647 : jbcrail/rename-dragonfly 2014-11-06 13:31:52 -08:00
Alex Crichton
e3ade0f012 rollup merge of #18644 : luqmana/pefc 2014-11-06 13:31:48 -08:00
Alex Crichton
b5ca21ee92 rollup merge of #18636 : luqmana/armf 2014-11-06 13:31:35 -08:00
Alex Crichton
b3ed448f62 rollup merge of #18633 : huonw/target-spec-spelling 2014-11-06 13:31:32 -08:00
Alex Crichton
76d2abe0e7 rollup merge of #18630 : nikomatsakis/purge-the-bars 2014-11-06 13:31:18 -08:00
Alex Crichton
08ddfc10e4 rollup merge of #18628 : aturon/fixup-error-comment 2014-11-06 13:31:03 -08:00
Alex Crichton
3f3fc0cd33 rollup merge of #18615 : huonw/simd 2014-11-06 13:30:41 -08:00
Alex Crichton
b747f70394 rollup merge of #18591 : nick29581/dst-bug-str 2014-11-06 13:30:37 -08:00
Alex Crichton
73aaeb0fbd rollup merge of #18555 : jakub-/e-needstest 2014-11-06 13:30:16 -08:00
Alex Crichton
fcfd307493 rollup merge of #18373 : steveklabnik/gh18288 2014-11-06 13:30:10 -08:00
Alex Crichton
8a25e071e8 rollup merge of #18605 : Gankro/collect-fruit 2014-11-06 13:29:31 -08:00
juxiliary
18c328da27 Fixing #18659
Changes the radix multiplier to start at -0.0 instead of -1.0
when reading strings that start with '-'.
2014-11-07 07:20:28 +10:00