Björn Steinbrink
7fbe8002d5
Fix a crash when transmuting non-immediate to immediate types
...
The code to build the transmute intrinsic currently makes the invalid
assumption that if the in-type is non-immediate, the out-type is
non-immediate as well. But this is wrong, for example when transmuting
[int, ..1] to int. So we need to handle this fourth case as well.
Fixes #7988
2013-07-24 09:45:21 -04:00
Daniel Micay
254339fd39
fix fmt! usage
2013-07-24 09:45:20 -04:00
Birunthan Mohanathas
5afb3d20aa
Disallow non-comma-delimited arguments to fmt! and bytes!
...
Closes #4982 .
2013-07-24 09:45:20 -04:00
Brian Anderson
6c88e46d4d
std:rt: args module is not used by win/mac. #7951
2013-07-24 09:45:20 -04:00
Birunthan Mohanathas
206ae5752e
Change 'print(fmt!(...))' to printf!/printfln! in src/test/
2013-07-24 09:45:20 -04:00
Birunthan Mohanathas
d047cf1ec6
Change 'print(fmt!(...))' to printf!/printfln! in src/lib*
2013-07-24 09:45:20 -04:00
Daniel Micay
af5a17b7d0
document random-access iterators
2013-07-24 09:45:20 -04:00
Daniel Micay
8c02272512
expand on double-ended iterators in the tutorial
2013-07-24 09:45:20 -04:00
Daniel Micay
626bb5a866
add a RandomAccessIterator trait
2013-07-24 09:45:20 -04:00
bors
51028532d7
auto merge of #7993 : Xazax-hun/rust/master, r=bblum
...
Added missing memory orderings for atomic types. https://github.com/mozilla/rust/issues/7422
2013-07-24 06:37:36 -07:00
bors
3ee423858a
auto merge of #7992 : huonw/rust/un-xfail, r=z0w0
...
...(they still don't work).
2013-07-24 04:22:36 -07:00
crnobog
92eb52d172
xfail tests that are currently failing on windows, reported in #7999
2013-07-24 11:16:08 +01:00
Felix S. Klock II
1f92557512
Tests select when to use --cfg debug, regardless of configure settings.
...
Remove directive, if present, from CFG_RUSTC_FLAGS.
Fix #7898 .
(One alternative tack is to build up distinct CFG_TEST_RUSTC_FLAGS
alongside CFG_RUSTC_FLAGS; but currently debug is the only --cfg flag
ever added to CFG_RUSTC_FLAGS; the other contents of CFG_RUSTC_FLAGS
are a mix of -Z flags and a few other switches like O, which seem to
make sense to propogate to the tests.)
2013-07-24 11:29:43 +02:00
bors
b5799e1eb5
auto merge of #7987 : alexcrichton/rust/tests-for-closed-issues, r=huonw
...
Closes #5844
2013-07-24 01:34:38 -07:00
bors
7f96eb58d2
auto merge of #7980 : graydon/rust/misc-benchmarks, r=catamorphism
...
Some machinery for enabling #[bench] benchmarks in std and some examples showing how to write them.
2013-07-23 22:46:39 -07:00
bors
af78e23006
auto merge of #7958 : kemurphy/rust/link-section, r=alexcrichton
...
This allows for control over the section placement of static, static
mut, and fn items. One caveat is that if a static and a static mut are
placed in the same section, the static is declared first, and the static
mut is assigned to, the generated program crashes. For example:
#[link_section=".boot"]
static foo : uint = 0xdeadbeef;
#[link_section=".boot"]
static mut bar : uint = 0xcafebabe;
Declaring bar first would mark .bootdata as writable, preventing the
crash when bar is written to.
2013-07-23 20:04:53 -07:00
bors
359755a39a
auto merge of #7885 : graydon/rust/workcache-fixes-1, r=pcwalton
...
This just redoes various parts of workcache to support context-cloning (eventually quite crudely, via ARCs), the absence of which was blocking rustpkg from being able to use it. Better versions of this are possible (notably removing the ARCs on everything except the database) but it ought to work well enough for now.
2013-07-23 17:49:54 -07:00
Michael Sullivan
17e30d6b4e
Change each_bound_trait_and_supertraits to take a vec of TraitRefs.
2013-07-23 17:06:56 -07:00
Michael Sullivan
387df4e127
Fix the issue-3979 tests and add a new test.
2013-07-23 17:06:56 -07:00
Michael Sullivan
ffc879c2e4
Major rework of how calls to self and super methods work.
...
Eliminates method_super, method_self, and vtable_self, merging all of
them into the param cases.
Cloes #4396 . Closes #7301 .
2013-07-23 17:06:33 -07:00
Michael Sullivan
79f8a7fee5
Properly track and export information about vtables for impls in metadata.
...
Partially rework how vtables are handled in default method calls.
Closes #7460 .
2013-07-23 17:06:33 -07:00
Michael Sullivan
304a5f0786
Have vtable resolution check for supertrait bounds. Closes #4055 .
2013-07-23 17:06:33 -07:00
Michael Sullivan
a0f8540c95
Fix some impls such that all supertraits are actually implemented.
2013-07-23 17:06:32 -07:00
Michael Sullivan
e75ec80157
Improve vtable resolution.
...
Improve vtable resolution in a handful of ways. First, if we don't
find a vtable for a self/param type, do a regular vtable search. This
could find impls of the form "impl for A". Second, we don't require
that types be fully resolved before looking up subtables, and we
process tables in reverse order. This allows us to gain more
information about early type parameters based on how they are used by
the impls used to resolve later params.
Closes #6967 , I believe.
2013-07-23 17:06:32 -07:00
Michael Sullivan
fbbbc98ea4
Refactor a bunch of lookup_vtable to reduce rightward drift and clean things up.
2013-07-23 17:06:32 -07:00
Michael Sullivan
4b9759e20f
Add a to_owned_vec method to IteratorUtil.
2013-07-23 17:06:32 -07:00
Michael Sullivan
89c4af0ea9
Fix a default method polymorphism bug.
2013-07-23 17:06:32 -07:00
Michael Sullivan
172ea83adc
Get rid of an unused variable warning.
2013-07-23 17:06:32 -07:00
Erick Tryzelaar
9c3679a9a2
std: make str::append move self
...
This eliminates a copy and fixes a FIXME.
2013-07-23 16:57:00 -07:00
Erick Tryzelaar
d573ecd1f9
rustc: remove unused variables
2013-07-23 16:57:00 -07:00
Erick Tryzelaar
1354cfa07f
clean up warnings
2013-07-23 16:57:00 -07:00
Erick Tryzelaar
bbedbc0450
std: inline str::with_capacity and vec::with_capacity
2013-07-23 16:57:00 -07:00
Erick Tryzelaar
cced3c9013
std: simplify str::as_imm_buf and vec::as_{imm,mut}_buf
2013-07-23 16:57:00 -07:00
Erick Tryzelaar
037a5b1af4
str: move as_mut_buf into OwnedStr, and make it self
2013-07-23 16:56:58 -07:00
Erick Tryzelaar
2dd3c44a56
std: remove a malloc from os::fill_charp_buf
2013-07-23 16:56:23 -07:00
Erick Tryzelaar
31b77aecfc
std: remove str::to_owned and str::raw::slice_bytes_owned
2013-07-23 16:56:23 -07:00
Erick Tryzelaar
cc9666f68f
std: rename str.as_buf to as_imm_buf, add str.as_mut_buf
2013-07-23 16:56:22 -07:00
Erick Tryzelaar
3b818edeba
std and extra: use as_c_str instead of as_buf in a couple places
...
These uses are assuming the strings are null terminated, so it
should be using `as_c_str` instead of `as_buf`
2013-07-23 16:56:22 -07:00
Erick Tryzelaar
cf75330807
std: add test for str::as_c_str
2013-07-23 16:56:22 -07:00
Erick Tryzelaar
7af56bb921
std: move StrUtil::as_c_str into StrSlice
2013-07-23 16:56:22 -07:00
Erick Tryzelaar
9fdec67a67
std: move str::as_buf into StrSlice
2013-07-23 16:56:22 -07:00
Erick Tryzelaar
cfd89c4075
std: remove os::as_c_charp
2013-07-23 16:56:22 -07:00
Erick Tryzelaar
9ad815e063
std: rename str.as_bytes_with_null_consume to str.to_bytes_with_null
2013-07-23 16:56:17 -07:00
Graydon Hoare
978e5d94bc
std: wrap "long" utf8 lines.
2013-07-23 16:02:14 -07:00
Graydon Hoare
ff0c2ae812
extra: rebase fallout.
2013-07-23 15:59:24 -07:00
bors
9954409438
auto merge of #7964 : pnkfelix/rust/fsk-issue3994-readme-note, r=huonw
...
See #3994 .
2013-07-23 15:40:53 -07:00
Graydon Hoare
ff8d65eb37
extra: give up trying to make more fields of context cloneable, just use ARCs.
2013-07-23 15:23:02 -07:00
Graydon Hoare
fa8553e417
extra: switch json from hashmaps to treemaps
2013-07-23 15:23:02 -07:00
Graydon Hoare
9e4ebdb9d6
extra: add consume iter to treemap.
2013-07-23 15:23:02 -07:00
Graydon Hoare
31c180e5f5
extra: clean up workcache to use & in place of @ most places.
2013-07-23 15:23:02 -07:00