Stefan Plantikow
7d786318a1
std: declared fns as pure where sensible
2011-12-16 18:18:34 +01:00
Stefan Plantikow
bfbaadc694
core: marked fns as pure where possible
2011-12-16 17:41:07 +01:00
Niko Matsakis
88818334b7
update to not look at descs[], which is not necessarily valid
...
if the input is a statically allocated type_desc
2011-12-16 08:06:45 -08:00
Niko Matsakis
34283c6a78
add test that requires capturing generic descriptors
2011-12-16 08:06:45 -08:00
Niko Matsakis
4465c1ad02
first test of sendable fns (passes)
2011-12-16 08:06:45 -08:00
Niko Matsakis
21cc0c6e69
revoke cleanup of sendable closure once construction completes
2011-12-16 08:06:44 -08:00
Niko Matsakis
52f76400b5
extend with ty_send_type and ty_opaque_closure
2011-12-16 08:06:44 -08:00
Niko Matsakis
b5e5043d5d
reorder block() argument to bitv::process()
2011-12-16 08:01:05 -08:00
Stefan Plantikow
1fe4bd0f43
std: added either::flip, to_result and result::to_either
2011-12-16 16:31:42 +01:00
Niko Matsakis
ac6aba016e
rename iter2 to iteri to match typical convention
2011-12-16 07:17:29 -08:00
Niko Matsakis
2833ca478c
reorder args to the various vec, option fns so blk comes last
2011-12-16 07:17:23 -08:00
Marijn Haverbeke
0a3626161d
Write impl data to crate library files
...
(No one is actually reading it yet.)
Issue #1227
2011-12-16 14:17:52 +01:00
Marijn Haverbeke
d529757515
Make polymorphic impl methods work
...
Something will still have to be done to the AST to make it possible to
say `x.foo::<int>()`, since currently field access never allows type
parameters.
Issue #1227
2011-12-16 13:47:48 +01:00
Marijn Haverbeke
cff6bdd036
Change syntax for impl
...
Move the name of the bundle to the front, allow type parameters (not
handled yet), and add a 'for' keyword:
impl utils for int {
fn str() -> str { int::str(self) }
fn times(f: block()) { ... }
}
2011-12-16 11:46:57 +01:00
Marijn Haverbeke
4f826d81f6
Make 1.f parse as a field access on the integer 1
...
A dot is only considered part of a number when not followed by a letter
Closes #1306
2011-12-16 11:46:57 +01:00
Marijn Haverbeke
14fcb135a9
Improve resolution of impls
...
Issue #1227
2011-12-16 11:46:57 +01:00
Marijn Haverbeke
7efef98901
Make uses of self in impls compile
...
Get rid of expr_self_call, introduces def_self. `self` is now,
syntactically, simply a variable. A method implicitly brings a `self`
binding into scope.
Issue #1227
2011-12-16 11:46:57 +01:00
Marijn Haverbeke
1dd2f1ec03
Get very simple impl method calls to compile
...
Resolution is still dumb, and no self support yet.
2011-12-16 11:46:57 +01:00
Marijn Haverbeke
6a16f57c0a
Get a very primitive form of typechecking/resolving to work for impls
...
No conflict resolution or polymorphism yet.
Issue #1227
2011-12-16 11:46:57 +01:00
Marijn Haverbeke
888bc80025
Parse and resolve implementations.
...
Issue #1227
2011-12-16 11:46:57 +01:00
Haitao Li
d5af61d679
build: Tidy cargo when checking formatting
2011-12-16 17:17:24 +08:00
Haitao Li
42fb9b2c5f
cargo: Fix long lines
2011-12-16 17:17:24 +08:00
Haitao Li
55cc110822
build: Remove the temp hack for libraries renaming transition
2011-12-16 17:17:24 +08:00
Haitao Li
9bb290c725
rustc: Implement non-renamed re-export across crates
...
First patch for issue #1115 . Not yet ready for re-exported modules which
are renamed when importing them.
2011-12-16 17:16:00 +08:00
Brian Anderson
91249fed82
Merge pull request #1314 from elly/cargo
...
Cargo: install-by-name and install-by-uuid
2011-12-15 18:26:11 -08:00
Elly Jones
7953a5dcfc
cargo: update to new rust-pkg-index API.
2011-12-15 21:22:42 -05:00
Patrick Walton
fd1dd76977
stdlib: Add a str::split_str() to split on a delimiter string of any length
2011-12-15 17:39:53 -08:00
Elly Jones
ce9fbf7517
cargo: support uuid:<uuid> and shortname package forms.
...
'cargo install rustcrypto' now works.
2011-12-15 20:27:55 -05:00
Brian Anderson
1f8f6054d2
rustc: Box tag variants to avoid copies
2011-12-15 17:25:58 -08:00
Brian Anderson
26db74c811
rustc: Box the vectors returned from ty::tag_variants
2011-12-15 17:14:58 -08:00
Brian Anderson
a1b3e3ea10
rustc: Cache results of ty::tag_variants
2011-12-15 16:27:18 -08:00
Niko Matsakis
68c6272f86
new targets, "rustc", "rustc-stage[123]", etc
2011-12-15 14:01:38 -08:00
Graydon Hoare
8f0c475562
Add an --out-dir option to rustc.
2011-12-15 13:52:43 -08:00
Brian Anderson
ce24ce1b5f
Merge pull request #1307 from elly/cargo
...
cargo: detect library installs properly
2011-12-15 13:53:24 -08:00
Niko Matsakis
aa3d58c8c0
restore old buggy behavior where n_obj_params is always 0 for fns
2011-12-15 13:44:06 -08:00
Niko Matsakis
1e3259e119
massive refactor of how closures work
2011-12-15 13:44:06 -08:00
Niko Matsakis
d381cc072a
resurrect tps_fn() and put it to use this time.
2011-12-15 13:44:06 -08:00
Graydon Hoare
7694689044
Fix bug in library output filename construction: /tmp/foo.rc was being linked as lib/tmp/foo-<hash>-<vers>.so not /tmp/foo-<hash>-<vers>.so
2011-12-15 11:33:57 -08:00
Elly Jones
a87d80f6e2
cargo: detect library installs properly
2011-12-15 10:11:01 -05:00
Marijn Haverbeke
1753607f6a
Suppress unused variable warnings in cargo
2011-12-15 13:46:27 +01:00
Marijn Haverbeke
f82d101511
Iterate over an array when creating the parser's reserved word table
2011-12-15 08:18:38 +01:00
Marijn Haverbeke
2cd3d1ff59
Don't try to look up crate modules in ext_map in resolve
...
Closes #1305
2011-12-15 08:17:13 +01:00
Graydon Hoare
dde5860380
Remove some duplicated unused parts of std now that they're present in core.
2011-12-14 18:04:45 -08:00
Niko Matsakis
f7540b165c
remove unused tps_fn(); comment out unused var
2011-12-14 15:41:41 -08:00
Stefan Plantikow
af8e471908
Fixed type resolution error in math tests
2011-12-14 14:54:16 -08:00
Stefan Plantikow
50db7ce906
Moved std::math to std::core
...
- merges math and float into core::float
- Splits core::ctypes into core::ctypes and core::mtypes
- cmath is not exported
- stdtest::math passes
2011-12-14 14:54:16 -08:00
Stefan Plantikow
6d0901cb4d
std: export math_f* as math::f* submods and use tailcalls in std::math
2011-12-14 14:54:16 -08:00
Niko Matsakis
6cdb69cccb
refactor trans into trans_closure; restore original closure repr
2011-12-14 14:32:28 -08:00
Niko Matsakis
5a5f33c779
treat native fns as shared closures
2011-12-14 14:32:27 -08:00
Niko Matsakis
d32d0f28d5
insert a field into the closure storing number of ty descs
2011-12-14 14:32:27 -08:00