Philipp Brüschweiler
8627fc9726
rand: Fix infinite recursion
...
`self` has type `&@Rand`, so `*self` will be of type `@Rand` which causes
this same impl to be called again.
2013-04-28 13:31:49 +02:00
Huon Wilson
9860fe10a1
libcore: remove unnecessary deref
2013-04-24 23:03:04 +10:00
Huon Wilson
4a24f10ac6
libcore: unify gen_<type> methods on rand::RngUtil into the generic gen.
...
This moves all the basic random value generation into the Rand instances for
each type and then removes the `gen_int`, `gen_char` (etc) methods on RngUtil,
leaving only the generic `gen` and the more specialised methods.
Also, removes some imports that are redundant due to a `use core::prelude::*`
statement.
2013-04-24 22:34:19 +10:00
Huon Wilson
6c0a7c7b7d
libcore: remove @Rng from rand, and use traits instead.
...
Also, rename RandRes -> IsaacRng, and make the constructors static
methods.
2013-04-24 22:34:10 +10:00
bors
aba93c6b60
auto merge of #5966 : alexcrichton/rust/issue-3083, r=graydon
...
Closes #3083 .
This takes a similar approach to #5797 where a set is present on the `tcx` of used mutable definitions. Everything is by default warned about, and analyses must explicitly add mutable definitions to this set so they're not warned about.
Most of this was pretty straightforward, although there was one caveat that I ran into when implementing it. Apparently when the old modes are used (or maybe `legacy_modes`, I'm not sure) some different code paths are taken to cause spurious warnings to be issued which shouldn't be issued. I'm not really sure how modes even worked, so I was having a lot of trouble tracking this down. I figured that because they're a legacy thing that I'd just de-mode the compiler so that the warnings wouldn't be a problem anymore (or at least for the compiler).
Other than that, the entire compiler compiles without warnings of unused mutable variables. To prevent bad warnings, #5965 should be landed (which in turn is waiting on #5963 ) before landing this. I figured I'd stick it out for review anyway though.
2013-04-22 15:36:51 -07:00
Huon Wilson
56679024c5
libcore: Rand impls for tuples and ~/@ boxes
2013-04-22 19:01:48 +10:00
Huon Wilson
aa763cdb23
libcore: make rand::random return a generic value implementing Rand.
2013-04-21 22:14:34 +10:00
Alex Crichton
13537d2e0c
core: remove unused 'mut' variables
2013-04-20 21:02:38 -04:00
Huon Wilson
d3be98e9f5
libcore,std,syntax,rustc: move tests into mod tests, make them private (no pub mod or pub fn).
2013-04-16 09:57:47 +10:00
Dan Luu
aff558998e
Fix formatting
2013-04-11 09:12:26 -04:00
Dan Luu
ccae209b0d
Clarify comment
2013-04-10 15:54:28 -04:00
Dan Luu
4b7d363495
Add examples for Rng functions.
2013-04-10 15:08:19 -04:00
Patrick Walton
1e91595520
librustc: Remove fail_unless!
2013-03-29 16:39:08 -07:00
Alex Crichton
be57d745d2
Removing unused imports
2013-03-28 23:56:46 -04:00
Marvin Löbel
b9de2b5787
Switched over a bunch of splitting funktions to non-allocating iterators
2013-03-26 14:59:17 +01:00
Patrick Walton
85c9fc6f8f
librustc: Remove the const declaration form everywhere
2013-03-22 22:24:35 -07:00
Patrick Walton
be9bddd463
libcore: Remove pure from libcore. rs=depure
2013-03-22 10:29:17 -07:00
Patrick Walton
4634f7edae
librustc: Remove all uses of static from functions. rs=destatic
2013-03-22 10:27:39 -07:00
Patrick Walton
b1c699815d
librustc: Don't accept as Trait anymore; fix all occurrences of it.
2013-03-13 20:07:09 -07:00
Brian Anderson
82f190355b
Remove uses of log
2013-03-11 23:19:42 -07:00
Patrick Walton
d7e74b5e91
librustc: Convert all uses of assert over to fail_unless!
2013-03-07 22:37:57 -08:00
Patrick Walton
fd271adc75
libcore: Remove extern mod { ... } from libcore. rs=deexterning
2013-03-07 22:32:51 -08:00
Ben Striegel
9db61e0c21
De-implicit-self libcore
2013-03-04 22:36:15 -05:00
Niko Matsakis
4ecb672d7f
Remove legacy object creation mode, and convert remaining uses of it
2013-02-28 20:28:04 -05:00
Patrick Walton
107bf96ff0
librustc: Mark all type implementations public. rs=impl-publicity
2013-02-28 11:32:24 -08:00
Ben Striegel
43d43adf6b
Turn old drop blocks into Drop traits
2013-02-27 19:14:19 -05:00
Patrick Walton
bf2a225c0b
librustc: Separate most trait bounds with '+'. rs=plussing
2013-02-20 21:14:20 -08:00
Graydon Hoare
968ab03026
rt: fix memory-unsafe random seed logic, r=valgrindclean
2013-02-19 07:06:36 -08:00
bors
0528329a4f
auto merge of #4964 : luqmana/rust/demove, r=graydon
...
As per #4339/#3676 this pull removes all uses `move` and gets rid of parsing it in libsyntax.
So that's one more thing to cross off #4707
2013-02-15 12:09:15 -08:00
Luqman Aden
5912b1448c
libcore: Get rid of move.
2013-02-15 02:49:54 -08:00
Chris Peterson
665e900ede
encapsulate isaac RNG in rust_rng struct
2013-02-14 22:31:08 -08:00
Patrick Walton
9143688197
librustc: Replace impl Type : Trait with impl Trait for Type. rs=implflipping
2013-02-14 14:44:12 -08:00
Ben Striegel
3a3f7b8e55
RIMOV core::rand
2013-02-13 12:47:44 -05: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
Zack Corr
abd29e5ead
core: Add a rand::Rand trait that is implemented by types that can be
...
randomly generated
Also adds Rng::gen() for generating any type that implements the Rand
trait
2013-02-05 22:56:40 +10:00
Erick Tryzelaar
e4d4a1499b
convert most of libcore records into structs
2013-01-24 16:24:30 -08:00
Patrick Walton
ca71c6ec5b
librustc: Make all external functions unsafe. r=tjc
2013-01-10 21:24:08 -08:00
Patrick Walton
2db3abddcd
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 22:02:35 -08:00
Patrick Walton
44ab00ee37
Revert "librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc"
...
This reverts commit a8d37af247 .
2013-01-08 19:29:16 -08:00
Patrick Walton
a8d37af247
librustc: Make unqualified identifier searches terminate at the nearest module scope. r=tjc
2013-01-08 19:27:57 -08:00
Patrick Walton
e26ca35b08
librustc: Fix the test runner, the condition system, and core test. rs=bustage
2012-12-27 17:53:04 -08:00
Patrick Walton
57c599914a
librustc: Terminate name searches at the nearest module scope for paths that contain at least two components. r=graydon
2012-12-27 10:02:54 -08:00
Chris Peterson
6d8621ae7f
core: Mark some functions as pure
2012-12-23 14:37:44 -08:00
Graydon Hoare
00c856c0b1
Update license, add license boilerplate to most files. Remainder will follow.
2012-12-03 17:12:14 -08:00
Tim Chevalier
65c96f849f
Forbid deprecated modes again in core
...
Sadly, there's only one file that requires deprecated modes
(stackwalk)... So, forbid them everywhere else.
2012-10-04 16:48:57 -07:00
Daniel Patterson
0b9a47a189
core::rand - adding rand::random(), a shortcut to generate a uint with task-local rng
2012-10-02 17:15:14 -04:00
Patrick Walton
9284179311
libstd: Switch off legacy modes in both core and std.
2012-10-02 12:20:06 -07:00
Daniel Patterson
6c7459de99
core::rand - adding test for task_rng()
2012-10-02 11:23:32 -07:00
Daniel Patterson
c7354e6c10
core::rand - adding task local lazily initialized rng, as per #3439
2012-10-02 11:23:32 -07:00
Graydon Hoare
8c89e4bbdd
Finish de-exporting path, rand, run, sys. Part of #3583 .
2012-09-27 15:44:09 -07:00