Brian Anderson
c461fc869c
test: Add xfailed test for #2196
2012-04-16 13:51:40 -07:00
Brian Anderson
f466a2fa8f
rustc: -L also indicates the location of native libraries
...
-L currently specifies paths to search for Rust crates
Building crates that use native libraries is difficult. When the
library is located somewhere unexpected there is no way
to tell rustc additional paths to look in.
If libclang is located at `.` then rustc is not going to
know that and linking will fail.
To get around that I often end up inserting
#[link_args = "-L."] native mod m { }
into other crates to get them to build.
Now you just `rustc -L .` and it builds.
This doesn't do any rpathing so it's still up to somebody else
to put the library somewhere it will be found or use LD_LIBRARY_PATH
This feature comes with a single, XFAILed test, because I could
not think of a way to test it. Odd.
2012-04-16 12:33:21 -07:00
Tim Chevalier
4f4a468e84
Forbid deinitializing upvars in typestate
...
Closes #1965 .
2012-04-15 01:05:41 -07:00
Niko Matsakis
cc16165e40
implement evec/estr subtyping/lub/glb/etc
2012-04-14 18:48:58 -07:00
Brian Anderson
658b6a741b
test: Simulate abstract methods with template modules
2012-04-14 02:14:05 -07:00
Brian Anderson
611061b6c3
test: Add a test for interesting module template polymorphism
2012-04-14 00:15:12 -07:00
Niko Matsakis
247db704a9
integrate simple notion of borrowing into trans
2012-04-13 21:06:57 -07:00
Niko Matsakis
4d73185f3e
new borrowing tests (not all passing)
2012-04-13 21:06:56 -07:00
Niko Matsakis
f099359cfa
add test for issue #1466 that runs with CC ZEAL enabled.
...
Fixes #1466 . (Unable to reproduce)
2012-04-13 12:41:37 -07:00
Niko Matsakis
dfc548ddda
add option exec-env to set env variables during test execution
2012-04-13 12:41:37 -07:00
Niko Matsakis
27f1c2b742
first stab at type checking for borrow: not integrated into trans
2012-04-13 10:41:46 -07:00
Tim Chevalier
ea0063788b
Add a run-fail test for result::get, get rid of a FIXME. Also some random other tests, mostly xfailed.
2012-04-12 20:24:07 -07:00
Brian Anderson
8c8db42fc5
test: Add test for #1763
2012-04-12 17:43:12 -07:00
Graydon Hoare
8a7fd4a04f
Support general warnings and errors in lint pass via flags and attrs. Close #1543 .
2012-04-12 17:31:49 -07:00
Brian Anderson
db7a1f7b0c
test: Add compile-fail test for shadowing in-scope enums
2012-04-11 21:28:25 -07:00
Tim Chevalier
d7ba59eb6e
Test that a class can implement an interface defined in a different crate
2012-04-11 18:55:30 -07:00
Niko Matsakis
3e6943d820
refactor fixup_self
2012-04-11 17:21:53 -07:00
Niko Matsakis
c1c60c023e
first attempt at an assignability check
2012-04-11 17:21:53 -07:00
Tim Chevalier
5c12cd72f4
Allow classes to implement ifaces
...
Introduce syntax like:
iface animal { ... }
class cat implements animal { ... }
to allow classes to implement ifaces. Casting classes to ifaces
is *not* yet supported. ifaces that a class implements are not
yet included in metadata.
The syntax is subject to change, and may go away completely if we
decide to use duck typing to relate classes with ifaces (see
http://smallcultfollowing.com/babysteps/blog/2012/04/10/declared-vs-duckish-typing/ )
2012-04-11 16:20:01 -07:00
Graydon Hoare
f34eae8802
Translate slice-strings and make fixed-strings carry their null.
2012-04-11 12:07:19 -07:00
Graydon Hoare
7a3b290245
Add vstore/evec/estr to compiler.
2012-04-11 11:08:40 -07:00
Graydon Hoare
0c94cd5d43
Add some xfailed estr tests.
2012-04-11 11:08:40 -07:00
Tim Chevalier
fd26743bed
Generic classes and generic class methods work cross-crate
...
Classes can have ty params now. So can methods inside classes.
That was probably true before, but now it should still work if you
call methods in a class that's defined in a different crate. Yay!
2012-04-10 11:01:36 -07:00
Haitao Li
1dac883282
test: Remove duplicated auxliary tests
2012-04-10 16:59:35 +08:00
Brian Anderson
10236f8cd4
core: Make str::as_bytes handle failure. Closes #2156
2012-04-09 18:57:21 -07:00
Niko Matsakis
24e921f7d4
make anything used in a resource body always reachable
...
(they appear to be uncond. inlined)
Fixes #2170 .
2012-04-09 16:36:59 -07:00
Brian Anderson
596376ea55
rt: Allow 2x normal stack during unwinding. Closes #2173
...
Allows room for destructors to run without allowing the stack to grow forever.
2012-04-09 16:03:06 -07:00
Brian Anderson
b42c6d07dc
rt: Don't limit the amount of stack available during unwinding. Closes #2144
2012-04-09 15:36:45 -07:00
Haitao Li
2ce28899e4
test: Don't share auxiliary modules
2012-04-09 00:18:18 +08:00
Haitao Li
cc66599c1f
Xfail-fast a case on window
2012-04-08 23:14:57 +08:00
Haitao Li
101f83ecef
Fix a missing un-xfailed case
...
Issue #1230
2012-04-08 22:09:15 +08:00
Haitao Li
7d227f21f7
Check metadata hash when loading transitive dependent crates
...
Fix issue #2138
2012-04-08 21:19:15 +08:00
Brian Anderson
a6e748a1d9
rustc: Hash the CMH into symbol names
2012-04-07 17:50:49 -07:00
Brian Anderson
0094ffd99b
test: Add test for mismatched nominal types when using multiple crate vers
2012-04-07 17:40:34 -07:00
Brian Anderson
e0f2341da1
test: Add another test using multiple versions of the same crate
2012-04-07 17:40:25 -07:00
Brian Anderson
320e6cebf4
test: Un-xfail run-pass/crateresolve2
2012-04-07 17:39:59 -07:00
Brian Anderson
19b7a7d803
Revert "Mangle exported names using node IDs rather than types"
...
This reverts commit c83d61de93
.
2012-04-07 17:29:06 -07:00
Niko Matsakis
1e42c9a367
Do not consider ty_bot to be a "resolved type".
...
Fixes #2149 . Fixes #2150 . Fixes #2151 .
2012-04-07 17:12:48 -07:00
Haitao Li
7aaa120bcc
Check version when resolving transitive dependent crates
...
Issue #2138
2012-04-08 02:05:09 +08:00
Haitao Li
2f42b14b4f
Use version and hash in crate_map name
...
Related issue #2137
2012-04-07 22:11:23 +08:00
Haitao Li
13686b6778
Use real crate name in crate_map name
...
`use` statement may introduce an crate name alias. This patch always
uses the link attrbute "name" as the crate's name when building the
crate map.
Closes #1706
2012-04-07 22:08:54 +08:00
Marijn Haverbeke
fc202ca034
Remove support for old-style for
...
Closes #1619
2012-04-06 20:38:23 +02:00
Marijn Haverbeke
c902eafa14
Convert old-style for loops to new-style
...
Most could use the each method, but because of the hack used to
disambiguate old- and new-style loops, some had to use vec::each.
(This hack will go away soon.)
Issue #1619
2012-04-06 20:38:23 +02:00
Brian Anderson
9c88e5ef5a
test: Refactor the crateresolve tests
...
Keep their aux builds from stomping on each other
2012-04-06 10:58:03 -07:00
Brian Anderson
de3528846f
rustc: Fail when there are multiple matches for 'use'
2012-04-06 10:58:03 -07:00
Niko Matsakis
586b072eef
Make tps invariant for now. Fixes #1973 .
2012-04-06 08:31:12 -07:00
Niko Matsakis
2c56ba7e43
improve error messages
2012-04-06 06:59:00 -07:00
Niko Matsakis
051f24da25
add static region and also fix regions to be contravariant
2012-04-05 21:16:28 -07:00
Brian Anderson
2577bd9df3
rustc: Don't assume that all crates with the same name are the same
2012-04-05 20:53:16 -07:00
Tim Chevalier
c83d61de93
Mangle exported names using node IDs rather than types
...
Use node IDs rather than types to ensure exported names are unique.
duplicate symbol. Closes #2074 .
2012-04-05 18:22:53 -07:00