Commit Graph

19258 Commits

Author SHA1 Message Date
bors 032dcc57e8 auto merge of #7371 : alexcrichton/rust/trying, r=cmr
This is an attempt at a smaller request than #7113, it's just the first two commits
2013-06-25 10:47:01 -07:00
Alex Crichton 92424f0670 Add the `warnings` lint attribute 2013-06-25 08:55:15 -07:00
Alex Crichton 42b44b21b1 Rename all files with the 'rc' extension 2013-06-25 08:55:15 -07:00
bors d161e630d8 auto merge of #7317 : Aatch/rust/no-drop-flag, r=thestinger
This adds a `#[no_drop_flag]` attribute. This attribute tells the compiler to omit the drop flag from the struct, if it has a destructor. When the destructor is run, instead of setting the drop flag, it instead zeroes-out the struct. This means the destructor can run multiple times and therefore it is up to the developer to use it safely.

The primary usage case for this is smart-pointer types like `Rc<T>` as the extra flag caused the struct to be 1 word larger because of alignment.

This closes #7271 and #7138
2013-06-25 07:23:06 -07:00
bors 7aee5da08d auto merge of #7254 : Blei/rust/intrinsic-overhaul, r=cmr
This sets the `get_tydesc()` return type correctly and removes the intrinsic module. See #3730, #3475.

Update: this now also removes the unused shape fields in tydescs.
2013-06-25 04:38:06 -07:00
bors b11346bb5d auto merge of #7291 : alexcrichton/rust/static-mut, r=huonw
This adds both `static mut` items and `static mut` foreign items. This involved changing far less code than I thought it was going to, but the tests seem to pass and the variables seem functional.

I'm more than willing to write more tests, so suggestions are welcome!

Closes #553
2013-06-25 01:59:05 -07:00
bors 5a089c252e auto merge of #7370 : Aatch/rust/snapshot, r=huonw
I also cleaned up the warnings.
2013-06-24 23:14:01 -07:00
James Miller 122f25dd5e Add missing import to tests 2013-06-25 18:02:56 +12:00
James Miller 6ad31ffb53 Warning police 2013-06-25 17:13:52 +12:00
James Miller caa50ce15d Remove stage0 cfgs 2013-06-25 17:08:26 +12:00
James Miller 2afdf0d6a1 Update snapshots file 2013-06-25 16:43:58 +12:00
James Miller 721164d5ec Zero the struct in the take glue, not the drop glue 2013-06-25 16:39:56 +12:00
James Miller d9f6dd263c Set #[no_drop_flag] on Rc<T> and AtomicOption. Add Test 2013-06-25 16:11:34 +12:00
James Miller 0cca08a21a Add support for #[no_drop_flag] attribute 2013-06-25 16:11:33 +12:00
bors 237ca7dc58 auto merge of #7257 : indutny/rust/feature/libc-mman, r=cmr
Add functions and constants required to be able to use `mmap` and friends.
2013-06-24 21:01:56 -07:00
Fedor Indutny bc70edbb25 libc: (u)int => c_(u)int for consts 2013-06-24 21:06:51 +02:00
Philipp Brueschweiler f8ae3cdcaa Fix test failure on windows
This patch ensures that the multiple extern definitions of `free` in the
run-pass tests have the same declaration, working around #7352.
2013-06-24 19:14:20 +02:00
Fedor Indutny ddd6f59283 libc: add POSIX-compatible sysconf consts
Because its part of POSIX. Values are taken from FreeBSD, linux
and OSX header files.
2013-06-24 19:04:00 +02:00
Fedor Indutny 079b07df55 libc: support functions from sys/mman.h
Because its part of POSIX. Values are taken from FreeBSD, linux
and OSX header files.
2013-06-24 19:04:00 +02:00
Alex Crichton b94f89fffc Fix 'static mut' tests 2013-06-24 07:42:32 -07:00
bors c6515ee6a7 auto merge of #7193 : Thiez/rust/fixbench, r=cmr
This PR fixes a few problems with the benchmark, mentioned in #2913. Since I do not have a 4GB RAM machine (I run rust on a puny 2GB RAM VM) I can't test binarytrees with N=20. If it works we can close #2913.

Fixes: 1) binarytrees prints "long lived trees of depth" instead of "long lived tree of depth"
Fixes: 2) chameneosredux -- the whitespace printed by show_number should be the same as printed by show_color
Already fixed: 3) spectralnorm prints an extra 

Fixes: 4) threadring prints an extra 

Fixes: 5) fasta -- strangely, output stops half-way through line 169 -- with another 8166 lines still to do.
Could not test: 6) the latest binarytrees fails with input N=20 on a 4GB machine.

r?
2013-06-24 04:43:51 -07:00
bors dfb7de8e0e auto merge of #7334 : thestinger/rust/old_iter, r=Aatch
the `test/run-pass/class-trait-bounded-param.rs` test was xfailed and
written in an ancient dialect of Rust so I've just removed it

this also removes `to_vec` from DList because it's provided by
`std::iter::to_vec`

an Iterator implementation is added for OptVec but some transitional
internal iterator methods are still left
2013-06-24 00:52:53 -07:00
Daniel Micay da1a9a30fd work around ICE from default method
issue #7341
2013-06-24 01:58:10 -04:00
Daniel Micay 1e7ca8dd24 xfail-pretty on un-xfailed test 2013-06-24 01:45:06 -04:00
bors 832fe32721 auto merge of #7207 : DaGenix/rust/sha2, r=pcwalton
This pull request contains an unoptimized implementation of most of the SHA-2 functions (everything but the variable output size versions). I also created a common trait (Digest) for all of the interesting methods for working with digests and updated the existing SHA-1 code to use it. Finally, while working with the SHA-1 code, I got rid of the use of @ types and type objects.

I've tested all functions against the Wikipedia test vectors. Additionally, I tested the SHA-512, 384, and 256 variants against the Java implementations of those digests.

I did my best to try to follow Rust conventions, but, there are so many different conventions in the code base right now that I'm not sure if I'm following the correct one or not. Anyway, I'm happy to rework if I didn't get the coding convention right (or if there are bugs!).
2013-06-23 22:40:53 -07:00
Daniel Micay 3ab5ec4b7c iterator: implement `collect` with FromIterator
This makes it take advantage of the size hint for pre-allocation.
2013-06-24 01:35:15 -04:00
Daniel Micay 8779be39e1 implement Clone for slices 2013-06-24 01:35:12 -04:00
Daniel Micay 60ed659620 deal with windows 2013-06-24 01:35:12 -04:00
Daniel Micay 369b0a56e8 xfail tests again for now (issues #7336, #7340) 2013-06-24 01:35:12 -04:00
Corey Richardson adb8ac4162 Fix/annotate a variety of xfails 2013-06-24 01:35:11 -04:00
Daniel Micay e2e39234cc remove old_iter
the `test/run-pass/class-trait-bounded-param.rs` test was xfailed and
written in an ancient dialect of Rust so I've just removed it

this also removes `to_vec` from DList because it's provided by
`std::iter::to_vec`

an Iterator implementation is added for OptVec but some transitional
internal iterator methods are still left
2013-06-24 01:35:11 -04:00
Palmer Cox 711273f5b4 Implement the fixed output size versions of the SHA-2 digest functions. 2013-06-24 00:04:02 -04:00
Palmer Cox 89eef0b139 Create a Digest trait for common methods on digests and convert the SHA-1 implementation to use it.
The DigestUtil trait was created for helper methods since default methods still have issues.
2013-06-24 00:04:00 -04:00
Palmer Cox e1b8c67580 Improve the SHA-1 implementation
* Rename struct Sha1State to Sha1
* Remove all use of @ types
* Use fixed length vectors
* Move all of the inner functions from inside sha1() to top level, private functions
* Sha1 instances are now created via Sha1::new()
* Update all constant names to uppercase
* Remove unecessary assert_eq!s
* Remove check_vec_eq() helper function; use vec::eq() instead
2013-06-24 00:02:45 -04:00
Palmer Cox c5400a8830 Create a crypto submodule and move the SHA-1 implementation into it. 2013-06-23 23:38:46 -04:00
Alex Crichton 8fdc8f392c Support foreign 'static mut' variables as well 2013-06-23 18:00:32 -07:00
Alex Crichton 1841b31c61 Add 'static mut' items to the language 2013-06-23 17:59:35 -07:00
bors ac4211ef52 auto merge of #7279 : hanny24/rust/master, r=msullivan
This commit adds filtered method for Option type. It is not exactly necessary (chain method can be used instead), however I believe that this approach using extra filtered method is more convinient.
2013-06-23 17:40:56 -07:00
Matthijs Hofstra 7ba1a239a4 Changed Arena API to make it usable once more. 2013-06-24 00:09:04 +02:00
bors f82756180b auto merge of #7314 : bblum/rust/trait-bounds2, r=nikomatsakis
Fixed a merge conflict, some tests, some bitrotting, etc., from #7248.
2013-06-23 14:58:58 -07:00
Ben Blum ba3f43e506 Fix pretty-printing builtin bounds on closures and traits 2013-06-23 17:54:25 -04:00
Ben Blum 1d2b20ee2c Check existential type contents against destination trait bounds. 2013-06-23 17:54:24 -04:00
Ben Blum 1ffcc6fc82 Allow ~fn:Copy() to be copied. 2013-06-23 17:54:21 -04:00
Matthijs Hofstra 6762754d5b Updated shootout-fasta.rs copyright years, removed stuff that caused lint to complain. 2013-06-23 23:21:35 +02:00
Matthijs Hofstra 66fd3c9e5d Fixed shootout-fasta.rs output 2013-06-23 23:21:35 +02:00
Matthijs Hofstra de64ff20ab Added missing copyright notice to shootout-spectralnorm. 2013-06-23 23:21:35 +02:00
Matthijs Hofstra b306f9fa40 Changed shootout-chameneos-redux output to conform to the 'official' output format. 2013-06-23 23:21:35 +02:00
Matthijs Hofstra 3b1ace9f9b Updated copyright year on shootout-binarytrees.rs 2013-06-23 23:21:34 +02:00
Matthijs Hofstra a4a8a4ac27 Fixed os:: and int:: not being in scope, changed io::println to println 2013-06-23 23:21:34 +02:00
Ben Blum c454e95fac Add basic test cases for closure bounds. (#3569) 2013-06-23 14:40:18 -04:00