Brian Anderson
6e9298ab88
Merge pull request #4619 from brson/exchange
...
Some work on freestanding Rust: foreign calls, exchange allocator
2013-02-07 13:46:10 -08:00
bors
a2817953d0
auto merge of #4832 : sanxiyn/rust/pretty-exact, r=graydon
2013-02-07 12:17:32 -08:00
Seo Sanghyeon
683e7a45a6
Change pretty-exact to pp-exact
2013-02-08 02:56:49 +09:00
bors
37a610a7d9
auto merge of #4831 : bjz/rust/incoming, r=pcwalton
...
This is useful for comparing more complex types that include floats.
2013-02-07 08:32:09 -08:00
Brendan Zabarauskas
7651100ec1
Fix broken tests
2013-02-08 02:41:23 +11:00
Niko Matsakis
a32498d846
Make ~fn non-copyable, make &fn copyable, split barefn/closure types,
...
correct handling of moves for struct-record update.
Part of #3678 . Fixes #2828 , #3904 , #4719 .
2013-02-07 05:53:30 -08:00
bors
d9a61f2a19
auto merge of #4816 : lifthrasiir/rust/float-literal, r=graydon
...
See #4804 for details.
2013-02-07 00:14:14 -08:00
Patrick Walton
8280c81513
Merge pull request #4811 from catamorphism/issue-4523-testcase
...
auto: testsuite: Add test for #4523
2013-02-06 22:49:26 -08:00
Brian Anderson
e91040c704
Make foreign calls work outside of tasks. #4451
2013-02-06 14:27:34 -08:00
Kang Seonghoon
2600bcc05d
got rid of last empty lines
2013-02-06 17:43:14 +09:00
Kang Seonghoon
01cc9ecafe
libsyntax: no binary/hex float literals
2013-02-06 16:49:24 +09:00
Patrick Walton
801f3225b2
oldmap: use &K instead of K in find and get
...
This reverts commit a4250a96fd
.
This is not the cause of the nonexhaustive-match failure.
2013-02-05 19:41:45 -08:00
Tim Chevalier
fd7b732e58
testsuite: Add test for #4523
2013-02-05 17:30:35 -08:00
Graydon Hoare
a4250a96fd
Revert "oldmap: use &K instead of K in find and get"
...
This reverts commit 8e643525d4
.
2013-02-05 14:30:53 -08:00
Tim Chevalier
33e2c979ce
Merge branch 'incoming' into removing
2013-02-05 10:33:35 -08:00
Tim Chevalier
2dcb3ed745
Merge
2013-02-05 10:33:28 -08:00
Alex Crichton
b368cb2341
Don't warn when imported traits are indeed used
2013-02-05 12:41:19 -05:00
Alex Crichton
6a4483ec7a
Fix some bugs with -W unused-imports
...
1. Don't warn about anything not used in the prelude which is autmoatically
injected, accomplished with a test that the span is equal to a dummy span.
2. Don't warn about unused imports from the injected intrinsic module,
accomplished by testing against the name of the imported module
3. If anything is used from a glob import, don't warn about the glob import.
4. If an import imports more than one thing, and none of them are used, only
issue a warning once
Also updated the unused-imports-warn test to have stricter requirements on
error messages.
2013-02-05 12:40:59 -05:00
bors
52817092a9
auto merge of #4747 : sanxiyn/rust/integral-type, r=graydon
...
`ty::type_is_integral` returns `true` for `ty_bool`. This causes `-true` to compile, instead of resulting in a type error.
2013-02-04 19:59:06 -08:00
bors
bffe3088c7
auto merge of pull req #4777 from thestinger/rust, r=graydon
2013-02-04 17:24:40 -08:00
Brian Anderson
e08a805b30
Merge remote-tracking branch 'bstrie/rimov' into incoming
...
Conflicts:
src/libsyntax/parse/parser.rs
src/test/bench/graph500-bfs.rs
src/test/bench/sudoku.rs
src/test/run-pass/borrowck-mut-vec-as-imm-slice.rs
src/test/run-pass/empty-mutable-vec.rs
src/test/run-pass/foreach-nested.rs
src/test/run-pass/swap-2.rs
2013-02-04 11:58:30 -08:00
Brian Anderson
27e1ac5bb9
Merge pull request #4684 from erickt/incoming
...
core: convert ToStr::to_str to take explicit &self
2013-02-04 10:15:02 -08:00
Brian Anderson
750f246ad5
xfail-faist impl_privace_xc_2.rs
2013-02-04 09:56:50 -08:00
Seo Sanghyeon
6d5428cb4e
Let type_is_integral return false for bool type
2013-02-04 23:01:47 +09:00
Erick Tryzelaar
9adfa59d8e
core: convert ToStr::to_str to take explicit &self
2013-02-03 20:47:26 -08:00
Daniel Micay
8e643525d4
oldmap: use &K instead of K in find and get
2013-02-03 23:30:56 -05:00
Brian Anderson
9556629da2
xfail-fast run-pass/impl-privacy-xc-1.rs
2013-02-03 19:09:52 -08:00
Brian Anderson
3b396d17d6
Merge remote-tracking branch 'thestinger/old_map' into incoming
...
Conflicts:
src/test/bench/core-map.rs
2013-02-03 17:56:49 -08:00
Patrick Walton
04eb9b4eb0
librustc: Fix bugs regarding to impl privacy. rs=bugfix
2013-02-03 17:50:27 -08:00
Marvin Löbel
af4972f3ce
Fixed fmt!
, tests, doc-tests.
2013-02-03 15:37:25 -08:00
Marvin Löbel
26e72bf92b
Converted libcore/int-template.rs to the new string functions.
...
- Moved ToStr implementation of integers to int-template.rs.
- Marked the `str()` function as deprecated.
- Forwarded all conversion functions to `core::num::to_str_common()`
and `core::num::from_str_common()`.
- Fixed most places in the codebase where `to_str()` is being used.
- Added int-template to_str and from_str overflow tests.
2013-02-03 15:37:24 -08:00
Daniel Micay
4fd9264875
oldmap: &K instead of K for the remove parameter
2013-02-03 18:20:59 -05:00
Daniel Micay
81b4f36d49
oldmap: remove legacy each method
2013-02-03 15:55:11 -05:00
Daniel Micay
1b4eb145f9
oldmap: implement core::container::Container
2013-02-03 15:55:10 -05:00
Daniel Micay
f4a27b2c7d
oldmap: get rid of the legacy contains_key method
2013-02-03 15:55:10 -05:00
Daniel Micay
319eeb1c79
rename map -> oldmap and mark it as deprecated
...
LinearMap is quite a bit faster, and is fully owned/sendable without
requiring copies. The older std::map also doesn't use explicit self and
relies on mutable fields.
2013-02-03 15:55:10 -05:00
Daniel Micay
a06ef7424c
cat modernization (cleanup of a run-pass test)
2013-02-03 15:55:09 -05:00
Daniel Micay
0a75aefad0
update compile-fail/map-types.rs to use hashmap
2013-02-03 15:55:09 -05:00
Graydon Hoare
89c8ef792f
check-fast fallout from removing export, r=burningtree
2013-02-01 19:43:17 -08:00
Nick Desaulniers
7868b6bf55
Remove fail keyword from lexer & parser and clean up remaining calls to
...
fail
Fix merge conflicts - Issue 4524
2013-02-01 00:15:42 -08:00
Nick Desaulniers
6fb4239bb3
Replace most invocations of fail keyword with die! macro
2013-01-31 22:25:12 -08:00
Daniel Micay
74b317ddc2
modernize smallintmap
...
* switch to explicit self
* get rid of the @ box
* replace DVec with ~[] (to get rid of the mutable field)
* implement the new container::Map trait
2013-01-31 23:22:51 -05:00
Daniel Micay
70855f5a07
move smallintmap to oldsmallintmap
2013-01-31 23:13:56 -05:00
Nick Desaulniers
aee7929469
Replace most invocations of fail keyword with die! macro
2013-01-31 20:12:49 -08:00
Tim Chevalier
6f0bede97c
testsuite: Remove call to set_buffer_, use set_buffer
2013-01-31 19:35:57 -08:00
Niko Matsakis
0682ad0eb9
Finalize moves-based-on-type implementation.
...
Changes:
- Refactor move mode computation
- Removes move mode arguments, unary move, capture clauses
(though they still parse for backwards compatibility)
- Simplify how moves are handled in trans
- Fix a number of illegal copies that cropped up
- Workaround for bug involving def-ids in params
(see details below)
Future work (I'll open bugs for these...):
- Improve error messages for moves that are due
to bindings
- Add support for moving owned content like a.b.c
to borrow check, test in trans (but I think it'll
"just work")
- Proper fix for def-ids in params
Def ids in params:
Move captures into a map instead of recomputing.
This is a workaround for a larger bug having to do with the def-ids associated
with ty_params, which are not always properly preserved when inlining. I am
not sure of my preferred fix for the larger bug yet. This current fix removes
the only code in trans that I know of which relies on ty_param def-ids, but
feels fragile.
2013-01-31 12:09:00 -08:00
Patrick Walton
42b462e076
test: Attempt to fix Windows check-fast resolve bustage. rs=bustage
2013-01-30 21:57:23 -08:00
Patrick Walton
767d2c0a97
test: De-export sudoku. rs=burningtree
2013-01-30 21:46:47 -08:00
Ben Striegel
9330b2f7b9
Fix bench/sudoku, broken by deëxporting
2013-01-31 00:06:48 -05:00
Ben Striegel
b5f61fddde
Repair RIMOV damage to benchmarks
2013-01-30 23:21:57 -05:00
Ben Striegel
df04bd6c6c
Revert RIMOV to compile-fail tests
2013-01-30 23:21:57 -05:00
Ben Striegel
3e2ed18a4c
RIMOV: fix issue-3563-3 test
2013-01-30 23:21:57 -05:00
Ben Striegel
bb642350e1
Repair RIMOV damage to run-pass
2013-01-30 23:21:57 -05:00
Ben Striegel
743c1c37e8
RIMOV, round 11
...
Last bit of mut removal, manually cleaning up outliers
2013-01-30 23:19:40 -05:00
Ben Striegel
0336a8633f
RIMOV, round 10
...
find ./ -type f -name "*.rs" -exec sed -i "s/~\[mut /~\[/g" {} \;
2013-01-30 23:19:08 -05:00
Ben Striegel
b4f47eca2a
RIMOV, round 7
...
find ./ -type f -name "*.rs" -exec sed -i "s/ mut \([a-zA-Z_]\+\):
~\[mut / mut \1: ~\[/g" {} \;
2013-01-30 23:18:08 -05:00
Ben Striegel
f08af9a7a5
RIMOV, round 5
...
find ./ -type f -name "*.rs" -exec sed -i "s/\&\[mut /\&mut \[/g" {} \;
2013-01-30 23:18:08 -05:00
Ben Striegel
12e8151fb0
RIMOV, round 4
...
find ./ -type f -name "*.rs" -exec sed -i "s/let mut \(.*\)\[mut[
]\?/let mut \1\[/g" {} \;
2013-01-30 23:16:56 -05:00
Ben Striegel
5577ce635f
RIMOV, round 3
...
find ./ -type f -name "*.rs" -exec sed -i "s/let \(.*\)\[mut[ ]\?/let
mut \1\[/g" {} \;
2013-01-30 23:16:56 -05:00
Ben Striegel
097c8aefea
RIMOV, round 2
...
Running the same command, again:
find ./ -type f -name "*.rs" -exec sed -i "s/let mut\(.*\)\[mut[ ]\?/let
mut\1\[/g" {} \;
2013-01-30 23:16:56 -05:00
Ben Striegel
a8ff91a630
Removing interior mut on vectors, round 1
...
find ./ -type f -name "*.rs" -exec sed -i "s/let mut\(.*\)\[mut[ ]\?/let
mut\1\[/g" {} \;
2013-01-30 23:16:56 -05:00
Patrick Walton
366812a5c3
librustc: Change self
as a type to Self
everywhere. r=brson
2013-01-30 19:52:45 -08:00
Patrick Walton
49472ec4c9
librustc: Remove legacy exports from the language. r=brson
2013-01-30 18:11:43 -08:00
Graydon Hoare
040035cd08
test: fix compile-fail tests somehow missed from local 'make check', r=burningtree.
2013-01-30 17:07:35 -08:00
Graydon Hoare
4030aaff20
rustc: make integral type inference transactional, close #3211 , close #4401 , close #3398 .
2013-01-30 16:21:19 -08:00
Patrick Walton
592c2e1db4
test: Remove export from the tests, language, and libraries. rs=deexporting
2013-01-30 15:56:40 -08:00
Patrick Walton
2a65842c3a
test: De-export aux, bench, compile-fail, and run-fail. rs=deexporting
2013-01-30 15:08:45 -08:00
Tim Chevalier
d73bf62952
testsuite: Add xfailed test for #4542
2013-01-30 14:07:08 -08:00
Tim Chevalier
d5c6d94e7e
Test case
2013-01-30 14:06:16 -08:00
Brian Anderson
02e907b648
Remove oldcomm from the test suite
2013-01-30 00:48:10 -08:00
Tim Chevalier
90cee95e51
xfail transitive inheritance test -- I guess this doesn't work yet
2013-01-29 20:33:22 -08:00
Tim Chevalier
a30ea013f5
Handle supertrait calls in default methods
...
Add a new method_super origin for supertrait methods. Also make
coherence create a table that maps pairs of trait IDs and self types
to impl IDs, so that it's possible to check a supertrait method
knowing only its index in its trait's methods (without knowing all
supertraits for a given trait).
r=nmatsakis and graydon -- with hope, we'll revamp all of this code as
per #4678 , but for now this fixes the bug.
Closes #3979
2013-01-29 20:33:22 -08:00
Tim Chevalier
7bc919909a
testsuite: Xfail file that I added by mistake
2013-01-29 13:42:21 -08:00
Patrick Walton
4ead38bae7
libsyntax: Implement the impl Trait for Type
syntax
2013-01-29 11:48:21 -08:00
Tim Chevalier
1b021d5868
Long line
2013-01-29 11:44:46 -08:00
Patrick Walton
226cd68f13
librustc: De-implicit-self the visitor. r=graydon
2013-01-29 10:43:12 -08:00
Patrick Walton
6ce74460e6
librustc: Disallow trait bounds in types, enumerations, and structure definitions. r=tjc
2013-01-29 10:42:58 -08:00
Patrick Walton
eb4d39e1fe
libstd: Remove "dual impls" from the language and enforce coherence rules. r=brson
...
"Dual impls" are impls that are both type implementations and trait
implementations. They can lead to ambiguity and so this patch removes them
from the language.
This also enforces coherence rules. Without this patch, records can implement
traits not defined in the current crate. This patch fixes this, and updates
all of rustc to adhere to the new enforcement. Most of this patch is fixing
rustc to obey the coherence rules, which involves converting a bunch of records
to structs.
2013-01-29 10:42:45 -08:00
Tim Chevalier
fc9650b146
testsuite: De-record most bench tests
2013-01-28 19:41:56 -08:00
Tim Chevalier
3b36708ca7
testsuite: De-record pretty tests
2013-01-28 19:41:56 -08:00
Tim Chevalier
58ec84a098
testsuite: Remove structural records from remaining compile-fail tests
2013-01-28 19:41:56 -08:00
Tim Chevalier
9f11485357
testsuite: Allow structural records in two tests that use pipes
2013-01-28 19:41:56 -08:00
Tim Chevalier
93043baab4
testsuite: Add #[allow(structural_records)] to pipes tests
...
These will require a snapshot.
2013-01-28 19:41:56 -08:00
Daniel Micay
8eaf0737b7
get rid of LinearMap's find_copy method
2013-01-28 16:06:09 -05:00
Niko Matsakis
2b67d88809
Rewrite the coercion code to be more readable, more sound, and to reborrow when
...
needed.
Regarding soundness: there was a subtle bug in how it was done before; see the
compile-fail test for an example.
Regarding reborrowing: reborrowing allows mut and const
slices/borrowed-pointers to be used with pure fns that expect immutable data.
r=brson
2013-01-28 10:01:59 -08:00
Niko Matsakis
2e10ea58c3
Integrate vec patterns into borrow checker.
...
The tail portion of the pattern effectively borrows a vector,
but the borrow checker knew nothing about this.
r=catamorphism
2013-01-28 10:00:32 -08:00
Niko Matsakis
d4fd30c6ac
Link the lifetimes of regions resulting from borrows of the
...
contents of other borrowed pointers to the lifetimes of the
borrowed value. Fixes #3148 .
r=catamorphism
2013-01-28 10:00:23 -08:00
Brian Anderson
83ca034d2e
Merge remote-tracking branch 'brson/nocommupstream2'
2013-01-26 14:57:58 -08:00
Tim Chevalier
bb183b93ea
testsuite: Eliminate structural records from run-fail tests
2013-01-26 11:38:00 -08:00
Tim Chevalier
6d4907a742
testsuite: Eliminate uses of structural records from most run-pass tests
...
Except the pipes tests (that needs a snapshot)
2013-01-26 11:35:17 -08:00
Tyler Bindon
c89afc3971
Fix Option camel case in a compile-fail test
...
The compile fails for another reason, that triggers before the the failure for non-camel cased option, some or none undefined errors.
2013-01-25 19:42:24 -07:00
Tyler Bindon
5a69cd75fb
Fix Option camel case in commented portion of test
2013-01-25 19:42:24 -07:00
Tyler Bindon
edc94f5c23
Fix Option camel case in xfailed/ignored tests
2013-01-25 19:42:23 -07:00
Brian Anderson
1ef83945c1
Merge remote-tracking branch 'brson/nocommupstream'
...
Conflicts:
src/libcore/private.rs
src/libcore/task/mod.rs
src/libcore/task/spawn.rs
src/libstd/net_tcp.rs
src/libstd/uv_global_loop.rs
src/libstd/uv_iotask.rs
2013-01-25 18:06:30 -08:00
Tim Chevalier
d753ad4ee4
testsuite: Fix Windows breakage harder in x86stdcall2
2013-01-25 16:58:04 -08:00
Graydon Hoare
d1f771ca34
test: fix x86stdcall test, r=burningtree.
2013-01-25 15:18:45 -08:00
Daniel Micay
e4337a9def
remove remaining is_not_empty functions/methods
2013-01-24 23:24:57 -05:00
Erick Tryzelaar
5085eb3c28
Convert pipes::Buffer into a struct
2013-01-24 16:24:31 -08:00
Erick Tryzelaar
6e2ae2c2c1
remove support for records from auto_encode
2013-01-24 16:24:30 -08:00
Patrick Walton
ad25e208ee
librustc: Allow &mut
to be loaned; allow self
to be loaned; make &mut
loanable to &
. r=nmatsakis
2013-01-24 13:52:22 -08:00