bors
29032cda8c
auto merge of #9168 : michaelwoerister/rust/traits, r=jdm
...
This pull request finally adds support for recursive type definitions and provides a stub implementation for object pointers.
2013-09-15 11:55:49 -07:00
bors
c8c3c3bdd6
auto merge of #9150 : catamorphism/rust/rustpkg-cleanup, r=catamorphism
...
Just refactoring in tests.rs.
2013-09-15 10:25:48 -07:00
Tim Chevalier
84f2d33973
rustpkg: Cleanup
2013-09-15 09:55:11 -07:00
Michael Woerister
2ffe083631
debuginfo: Added LLVMDICompositeTypeSetTypeArray to rustllvm.def.in
2013-09-15 17:52:56 +02:00
bors
e0528a5077
auto merge of #9209 : blake2-ppc/rust/from-str, r=thestinger
...
Remove these in favor of the two traits themselves and the wrapper
function std::from_str::from_str.
Add the function std::num::from_str_radix in the corresponding role for
the FromStrRadix trait.
With `from_str` in the prelude, and `from_str_radix` in `std::num`, the feature is unfied under the type annotation of these functions instead of using the modules-named-as-types (std::uint and others):
What was before:
let n = std::uint::from_str("1");
let m = std::i32::from_str_radix("10", 16);
is now:
let n = from_str::<uint>("1");
let m = std::num::from_str_radix::<i32>("10", 16);
2013-09-15 08:35:50 -07:00
blake2-ppc
8522341274
Remove {uint,int,u64,i64,...}::from_str,from_str_radix
...
Remove these in favor of the two traits themselves and the wrapper
function std::from_str::from_str.
Add the function std::num::from_str_radix in the corresponding role for
the FromStrRadix trait.
2013-09-15 14:29:16 +02:00
Michael Woerister
a2d5d093e0
debuginfo: Some namespace-related cleanup.
2013-09-15 12:28:25 +02:00
Michael Woerister
c3ffbc3151
debuginfo: Fix style nits for pull request.
2013-09-15 12:28:25 +02:00
Michael Woerister
ccb721a58d
debuginfo: Added description of algorithm for handling recursive types.
...
Also fixed nasty bug caused by calling LLVMDIBuilderCreateStructType() with a null pointer where an empty array was expected (which would trigger an unintelligable assertion somewhere down the line).
2013-09-15 12:28:25 +02:00
Michael Woerister
1ce02e7144
debuginfo: Added test cases for recursive structs.
2013-09-15 12:28:25 +02:00
Michael Woerister
f85da506a8
debuginfo: Support for recursive types.
2013-09-15 12:28:25 +02:00
Michael Woerister
206cc59f46
debuginfo: Implement DI for ty_opaque_box.
2013-09-15 12:28:25 +02:00
Michael Woerister
bf37de9fc6
debuginfo: Basic support for trait objects.
2013-09-15 12:28:25 +02:00
bors
4ecb0a372d
auto merge of #9153 : alexcrichton/rust/simplify-format, r=huonw
...
This follows from the discussion in #9012 .
* All macros are now defined in terms of `format_args!` allowing for removal of a good bit of code in the syntax extension
* The syntax extension is now in a more aptly-named file, `format.rs`
* Documentation was added for the `format!`-related macros.
2013-09-15 01:50:50 -07:00
Alex Crichton
640613892f
Fix expand_stmt as well as expand_expr to use the correct span
...
The same fix as before is still relevant, I just forgot to update the
expand_stmt macro expansion site. The tests for format!() suffice as tests for
this change.
2013-09-15 01:47:02 -07:00
Alex Crichton
fd8c05ccc9
Document all of the format! related macros
2013-09-15 01:09:00 -07:00
Alex Crichton
cfe3db810b
Reduce the amount of complexity in format!
...
This renames the syntax-extension file to format from ifmt, and it also reduces
the amount of complexity inside by defining all other macros in terms of
format_args!
2013-09-15 01:09:00 -07:00
bors
36872e4180
auto merge of #9203 : thestinger/rust/range_step, r=huonw
2013-09-14 23:00:52 -07:00
Daniel Micay
48f61ecbf9
iter: add the edge case tests for range
too
2013-09-15 00:54:32 -04:00
bors
ccadbd3b7c
auto merge of #9179 : catamorphism/rust/rustpkg-package-id, r=catamorphism,metajack
...
r? @metajack - This solves the problem you were having earlier with things like ```extern mod geom = "rust-geom";``` (or something like that).
2013-09-14 21:45:49 -07:00
Daniel Micay
8149e5c99f
rm some uses of the advance
iterator method
2013-09-15 00:45:34 -04:00
Daniel Micay
a05c4a1e5f
remove old internal iterator range tests
...
The cases they test are well covered in the `std::iter` tests.
2013-09-15 00:44:48 -04:00
Tim Chevalier
a7e49d6e83
rustpkg: Always write a package_id attribute into the link metadata
...
For some reason, I thought it wasn't necessary to write the package_id
attribute (which rustc's filesearch checks when searching for a package)
if the package ID had a single component (like "foo") as opposed to multiple
components (like "foo/bar/quux"). This meant that
`extern mod quux = "an-awesome-library";` didn't work, even if an-awesome-library
existed in the RUST_PATH.
Fixed it.
2013-09-14 21:42:19 -07:00
blake2-ppc
6e3d5c62e7
std::num: Remove range_step
for each numeric type
...
Replaced by `std::iter::range_step`
2013-09-15 00:41:41 -04:00
blake2-ppc
ad74fde62f
Use std::iter::range_step
...
Use the iterator version instead of the old uint::/int::range_step
functions.
2013-09-15 00:41:34 -04:00
Daniel Micay
66c2965b04
iter: fix RangeInclusive
's DoubleEndedIterator
2013-09-15 00:39:34 -04:00
Daniel Micay
bf7587f551
iter: fix range_inclusive
when start > stop
2013-09-15 00:32:15 -04:00
Daniel Micay
1f961c74c4
fix range_step{,_inclusive} with negative step
2013-09-15 00:32:07 -04:00
bors
a2231dce92
auto merge of #9200 : lkuper/rust/libsyntax-cleanup, r=luqmana
2013-09-14 18:25:49 -07:00
bors
0dbd509e0f
auto merge of #9199 : thestinger/rust/range_step, r=cmr
...
My focus was on getting these to be correct in all cases by handling overflow properly. I'll clean them up and work on the performance later.
2013-09-14 17:10:51 -07:00
Lindsey Kuper
6ba2cb88a6
These impls, at least, can be avoided by deriving Ord.
2013-09-14 19:38:22 -04:00
Lindsey Kuper
653ffa845d
Kill off method impls made redundant by default methods.
2013-09-14 19:38:22 -04:00
Daniel Micay
a18038f3b2
iter: add RangeStep
and RangeStepInclusive
2013-09-14 18:26:21 -04:00
bors
cf7e93ff25
auto merge of #9198 : FlaPer87/rust/shared-port, r=cmr
...
SharedPort implementation was missing in std::comm. Since this module
also wraps SharedChan, it makes sense to have SharedPort defined there
as well.
2013-09-14 15:20:50 -07:00
bors
5c4f65e6f5
auto merge of #9191 : huonw/rust/are-you-tired, r=cmr
...
Allows `std::rt::io::timer::sleep(1000)` rather than `std::rt::io::timer::Timer::new().unwrap().sleep(1000)`.
2013-09-14 14:05:51 -07:00
Daniel Micay
3aead52586
iter: move Counter impl to the proper place
2013-09-14 16:51:55 -04:00
Daniel Micay
10c8978edb
iter: replace comment with a docstring
2013-09-14 16:51:33 -04:00
Flavio Percoco
9357f8f4cd
Add SharedPort wrapper around rt::comm::SharedPort
...
SharedPort implementation was missing in std::comm. Since this module
also wraps SharedChan, it makes sense to have SharedPort defined there
as well.
2013-09-14 22:50:28 +02:00
Daniel Micay
561f1b0063
iter: fix range docstrings
2013-09-14 16:33:19 -04:00
bors
524c190565
auto merge of #9183 : alexcrichton/rust/issue-5794, r=catamorphism
...
Closes #5794
2013-09-14 12:30:54 -07:00
bors
bca015d9ff
auto merge of #9182 : bjz/rust/master, r=brson
...
Somehow this was missed!
cc #4819
2013-09-14 11:15:54 -07:00
bors
5f2f952dbc
auto merge of #9181 : lkuper/rust/libsyntax-default-methods-refactor, r=alexcrichton
...
I'm getting the three `make check` failures mentioned in issue #9127 , which I also get building master.
2013-09-14 10:05:51 -07:00
bors
1c26513ef9
auto merge of #9180 : blake2-ppc/rust/reduce-either, r=catamorphism
...
Work a bit towards #9157 "Remove Either". These instances don't need to use Either and are better expressed in other ways (removing allocations and simplifying types).
2013-09-14 08:50:50 -07:00
bors
5d905f1314
auto merge of #9178 : lkuper/rust/docs, r=catamorphism
2013-09-14 07:30:54 -07:00
Huon Wilson
f39ab75a78
std::rt: Add a standalone sleep function.
2013-09-15 00:20:48 +10:00
bors
9792ec6da7
auto merge of #9174 : thestinger/rust/bot, r=catamorphism
...
An expression such as `bottom == not_bottom` or `not_bottom == bottom`
already compiled, but this fixes the case where both sides are `bottom`.
2013-09-14 06:15:52 -07:00
bors
55b43fa26e
auto merge of #9165 : klutzy/rust/newrt-file-fix, r=sanxiyn
...
It was broken on win32 because of header inconsistency.
2013-09-14 05:00:56 -07:00
bors
3d469c25e5
auto merge of #9162 : alexcrichton/rust/issue-9123, r=catamorphism
...
Closes #9123
2013-09-14 03:45:56 -07:00
bors
f853f0b2d6
auto merge of #9160 : alexcrichton/rust/local-data-docs, r=huonw
...
Remove references to local_data::Key and only mention the macro for how to
construct new keys into local data.
2013-09-14 02:30:59 -07:00
bors
fbafb41fff
auto merge of #9156 : sfackler/rust/buffered-fix, r=huonw
...
This is a workaround for #9155 . Currently, any uses of BufferedStream
outside of libstd ICE.
2013-09-14 01:16:00 -07:00