Graydon Hoare
d899c3a579
More work on reflection, now calls iface visitors back as well.
2012-05-14 15:49:10 -07:00
Tim Chevalier
5428a22b95
First cut at dtors for classes
...
Classes with dtors should compile now. Haven't yet tested
whether they actually run correctly.
Beginnings of support for #2295 , though that won't be done until
there's more test cases and resources are removed.
2012-05-14 14:26:10 -07:00
Tim Chevalier
89cd2f6bd0
Enforce that self doesn't escape from a class
...
Closes #2294
2012-05-14 14:26:10 -07:00
Brian Anderson
a2572fe77e
rustc: Eliminate metadata's dependency on trans
2012-05-13 17:08:35 -07:00
Niko Matsakis
63eb8e0e87
move purity checking into borrowck, addresses #1422
2012-05-11 14:05:58 -07:00
Graydon Hoare
2585384c97
First working monomorphic type-reflection.
2012-05-11 13:10:07 -07:00
Niko Matsakis
b4d1f1b2c1
replace mutbl pass with borrowck
2012-05-10 21:14:43 -07:00
Graydon Hoare
c23d6a50d7
Preliminary groundwork for intrinsic module, reflection interface.
2012-05-10 17:18:04 -07:00
Paul Stansifer
13c924c049
Remove do { ... } while ...
from the language.
2012-05-10 15:09:33 -07:00
Niko Matsakis
50a3dd40ae
implement new borrow ck (disabled by default)
2012-05-09 17:00:19 -07:00
Niko Matsakis
5e7229b72c
reduce self type to a special type parameter
2012-05-09 07:11:59 -07:00
Marijn Haverbeke
b619954457
Start parsing pub/priv on regular items
...
Issue #1893
2012-05-08 16:09:40 +02:00
Brian Anderson
b99038c2bf
rustc: Put all boxes into addrspace 1
2012-05-07 15:24:32 -07:00
Tim Chevalier
0e43e8ccc8
That awkward moment when you forget to add your final changes
...
Fixes build breakage.
2012-05-07 15:15:13 -07:00
Tim Chevalier
4f105e4025
In resolve, visit the path in an iface ref
...
Necessary to resolve any type arguments in a ref to a parameterized
iface. This meant that, for example:
class A implements B<int> { ...
didn't work before, because the "int" in B's argument wasn't getting
visited, and thus wasn't getting resolved. Now it works.
Partially addresses Issue #2288 , but I also want to check that class
ty params can appear as the type arguments to ifaces (for example,
class A<T> implements B<T> {...
should work.)
2012-05-07 14:43:31 -07:00
Niko Matsakis
8a9df5aa38
make it illegal to implicitly capture mutable variables
...
this is the final part of #1273
2012-05-07 13:22:42 -07:00
Niko Matsakis
50ec6bd2c3
new cap clause syntax
2012-05-04 12:33:08 -07:00
Tim Chevalier
8affc78e8a
Turn constants in back::abi into uints, and propagate types
...
This means GEPi now takes a list of uints. Apologies in advance
if this is hard to rebase against, but it gets rid of many a cast :-)
Also modernized some for loops here and there.
2012-05-03 22:31:38 -07:00
Niko Matsakis
a7e0eb3581
allow enums that ref themselves via unsafe pointers
2012-05-03 17:08:18 -07:00
Tim Chevalier
29b807be2a
Removed unused import of std::deque
2012-05-03 15:37:02 -07:00
Niko Matsakis
cfa09d35a3
Revert "allow fn exprs to omit arg types"
...
This reverts commit 1ba4ca4c4a
.
2012-05-03 14:42:34 -07:00
Niko Matsakis
1ba4ca4c4a
allow fn exprs to omit arg types
...
also, avoid using type variables for fn args with omitted types
unless necessary. This will be important for bound regions in
fn types.
fixes #2093
2012-05-03 14:32:32 -07:00
Graydon Hoare
11a5d10bf2
Implement better shape code for evec, estr.
2012-05-03 13:09:02 -07:00
Tim Chevalier
d8f28be753
Check early on in typeck that types being implemented are actually iface types
...
Closes #2330 .
2012-05-03 12:38:45 -07:00
Brian Anderson
74096a79d8
rustc: Fix comment about ABI in trans::native
2012-05-03 12:07:43 -07:00
Brian Anderson
af263e43c2
rustc: Link to original Clay x86 classification code
2012-05-03 11:42:25 -07:00
Jyun-Yan You
bdebe92400
add forgotten index and fix array type
2012-05-03 09:43:00 -07:00
Marijn Haverbeke
d0d71838cd
Mention missing constructor when complaining about inexhaustive top-level pattern
...
It previously, uselessly, only pointed out the constructor when the
inexhaustive pattern was nested in some other pattern.
Closes #2337
2012-05-03 17:35:12 +02:00
Niko Matsakis
f1129635ee
report ambig impl methods
2012-05-02 21:47:14 -07:00
Brian Anderson
11354963b3
rustc: Hack around some FFI bustage. Unbreak servo
2012-05-02 18:35:29 -07:00
Graydon Hoare
b12e27595e
Error message reformatting, close #2309 .
2012-05-02 14:47:33 -07:00
Tim Chevalier
3d4ef74c9b
Encode the ifaces a class implements in metadata
...
This lets you use class A as if it had type B if A implements B,
and A and B are in different crates from your own.
Closes #2285
2012-05-02 13:38:56 -07:00
Graydon Hoare
79ed1f2df4
New lint pass for picking out uses of old-style vecs and str.
2012-05-01 12:58:07 -07:00
Tim Chevalier
46425af8a5
Remove code that was accidentally committed
...
This was a workaround for the bug that was actually fixed in
164039e867
2012-05-01 08:48:25 -07:00
Tim Chevalier
164039e867
Don't re-export a glob-imported ID when the same ID is defined within
...
a module
See the test case I added (issue-2316-c) for a concrete example.
issue-2316 also contains the originally reported test case. resolve
was using bitwise or instead of logical or when checking exports,
resulting in excessively eager evaluation. A one-line fix that took
six hours to isolate ;-)
2012-05-01 08:43:17 -07:00
Niko Matsakis
2db4259b35
Stop inferring bot/static when types/regions are unconstrained.
...
Also, some other changes that came up along the way:
- add a 'blk' region for the current block.
- detect unused type/region variables.
2012-04-30 19:53:02 -07:00
Brian Anderson
0be41ce02b
rustc: Remove old align_of intrinsic
2012-04-27 15:40:43 -07:00
Brian Anderson
582c71731d
rustc: Clean up some enum code
2012-04-27 11:24:43 -07:00
Brian Anderson
e4277472d2
core: Split sys::align_of into min_align_of, pref_align_of
2012-04-27 00:12:42 -07:00
Brian Anderson
f4f909b8b5
rustc: Add min_align_of, pref_align_of intrinsic, deprecate align_of
2012-04-27 00:12:39 -07:00
Brian Anderson
1c46ee34be
rustc: Add llalign_of_min
2012-04-26 21:59:59 -07:00
Brian Anderson
43751e45d9
rustc: Rename llalign_of_real to llalign_of_pref
...
This alignment is the "preferred" alignment of a type, which is not
necessarily the alignment the compiler will use when packing the
type into structures - that is the "ABI" alignment (in LLVM terms).
On x86, 64-bit ints have 8-byte preferred alignment, but 4-byte
ABI alignment.
2012-04-26 21:44:29 -07:00
Graydon Hoare
1f92538e38
Add check for path-statements, close #400 .
2012-04-26 14:43:43 -07:00
Graydon Hoare
33a296f2fc
Lowercase warning message.
2012-04-26 14:43:43 -07:00
Niko Matsakis
825fd1808e
lots of work to make iface/impls parameterized by regions
...
- paths can now take region parameters, replacing the dirty hack
I was doing before of abusing vstores. vstores are now a bit
of a hack though.
- fix various small bugs:
- we never checked that iface types were compatible when casting
to an iface with `as`
- we allowed nonsense like int<int>
- and more! (actually that may be it)
2012-04-25 19:26:56 -07:00
Graydon Hoare
458d2ff067
Be a bit more cautious about marking things no-throw.
2012-04-25 18:53:54 -07:00
Graydon Hoare
90c1b4645f
Set no-unwind on glue functions that don't drop resources.
2012-04-25 17:19:36 -07:00
Graydon Hoare
fa6c68a025
Set no-unwind attribute on all upcalls other than fail.
2012-04-25 17:19:36 -07:00
Brian Anderson
3a3a7fc426
rustc: Cache normalized types
2012-04-25 15:49:27 -07:00
Brian Anderson
df0ef528b9
rustc: Use LLVM named structs for enum types
2012-04-25 15:49:25 -07:00
Marijn Haverbeke
10120cce0f
typeck: Take more care to pass down expected types
...
This helps with prototype inference and avoids some 'must be known
in this context' errors.
2012-04-25 17:45:29 +02:00
Marijn Haverbeke
9f99c3263b
Rewrite exhaustiveness checker
...
Issue #2111
2012-04-25 09:15:17 +02:00
Brian Anderson
5a0c564817
Revert "rustc: Use LLVM named structs for enum types"
...
This reverts commit 6e909e387d
.
2012-04-24 20:47:06 -07:00
Brian Anderson
b88ecec08c
Revert "rustc: Cache normalized types"
...
This reverts commit 06afe21c03
.
2012-04-24 20:47:00 -07:00
Brian Anderson
06afe21c03
rustc: Cache normalized types
2012-04-24 18:24:35 -07:00
Brian Anderson
6e909e387d
rustc: Use LLVM named structs for enum types
2012-04-24 18:24:35 -07:00
Graydon Hoare
929c3dd710
Workarounds for bug #2280 : add some temporaries for borrowing.
2012-04-24 15:19:01 -07:00
Brian Anderson
e7dbf42214
rustc: Fix type_need_unwind_cleanup. Closes #2272
2012-04-24 14:55:16 -07:00
Brian Anderson
5437a045fc
rustc: Remove a bitcast. Issue #2276
2012-04-24 14:00:50 -07:00
Tim Chevalier
f7641286b2
Allow classes to be cast to ifaces that are in the same crate
...
I had to xfail one existing test case (class-implements-int) because,
I think, of the same bug described in #2272 .
2012-04-23 21:15:03 -07:00
Tim Chevalier
1c39fda0ea
Rename option::get_or_default to get_default, for consistency
2012-04-23 20:52:50 -07:00
Tim Chevalier
7d05bea7b9
Fix bug with * patterns in trans_alt
...
enter_opt was handling the (*) case wrong and causing a bounds check
failure. Fixed it (the test case is one of the extracted ones from
the reference manual)
2012-04-23 15:50:51 -07:00
Niko Matsakis
71128e75b0
moderate comment, remove some dead regions code
2012-04-23 08:02:59 -07:00
Niko Matsakis
7113a2c30b
remove dead code
2012-04-23 08:02:59 -07:00
Niko Matsakis
4eb71c07c6
remove outdated comment
2012-04-23 08:02:59 -07:00
Niko Matsakis
30d563839e
Various regions fixes.
2012-04-23 08:02:59 -07:00
Niko Matsakis
0d3658bb43
rewrite the resolution infrastructure; but it's still grody
2012-04-23 08:02:58 -07:00
Marijn Haverbeke
68f8812511
Guard against infinitely expanding generic/inline functions
...
Closes #2220
Test case disabled until a memory-leak issue is resolved.
2012-04-23 16:44:52 +02:00
Marijn Haverbeke
2782cfb783
Emit a more useful error when using an unsuitable function for a loop
...
Closes #2255
2012-04-23 15:43:29 +02:00
Marijn Haverbeke
9053f54498
Move map iface over to more for
-friendly iteration methods
2012-04-23 15:18:19 +02:00
Marijn Haverbeke
a872a99bfe
Simplify representation of ast::path
2012-04-23 13:04:46 +02:00
Marijn Haverbeke
587d8a5d4f
Misc code cleanups using list::each for list iteration
2012-04-23 12:13:59 +02:00
Marijn Haverbeke
dfdca5d538
Fix broken determination of external method type param count
...
Closes #2185
2012-04-23 09:25:14 +02:00
Brian Anderson
734494a04d
rustc: Cache constant C strings. Closes #2264
2012-04-21 14:26:13 -07:00
Tim Chevalier
734166f41c
Print out return type correctly in typestate error message
...
In the "not all paths return" error message, typestate was printing
the AST type from the fn decl, not the ty::t type. This ended in tears
when the AST return type was "ty_infer". Now it looks up the function node
ID's type and uses util::ppaux::ty_to_str instead.
Closes #2163 .
2012-04-20 18:48:08 -07:00
Graydon Hoare
90f82e171d
Get borrowing working on fixed evecs.
2012-04-20 12:11:55 -07:00
Tim Chevalier
37b0549730
Add new syntax for patterns that match the head constructor only
...
Adds a new kind of pattern C(*) where C is a constructor that may
have any number of fields. This pattern matches any value
constructed with C, without binding names for any of the fields.
Closes #1701 .
2012-04-20 00:56:46 -07:00
Niko Matsakis
3c995fb8f3
make nominal types optionally parameterized by a self region.
...
Issue #2201 .
2012-04-19 21:01:11 -07:00
Niko Matsakis
f3f34bf09b
correct universally_quantify to use structure_of, and introduce a test for this
2012-04-19 21:01:11 -07:00
Tim Chevalier
31ff64c62d
Annotate FIXMEs in parser
...
Also, get rid of two FIXMEs by refactoring some code, and moving the
call_expr check for be expressions into typeck, where it seems to
make more sense.
2012-04-19 19:17:59 -07:00
Tim Chevalier
cdc8722f95
Add a lint pass to check for while true { ... } loops
...
And suggest changing them to loop { ... }. Had to fix the few
remaining while true loops (in core::io). Closes #1962 .
2012-04-19 18:14:38 -07:00
Graydon Hoare
f641dce852
Get evec slices and unique-evec slice-borrowing working.
2012-04-19 16:51:37 -07:00
Tim Chevalier
b0074c5a92
Disallow rebinding / matching against consts in alts
...
As per Issue #1193 . Closes #1193 .
I had to rename a few variables ("info" and "epsilon") to avoid
clashing with in-scope constants, which is responsible for all the
changes other than resolve and issue-1193.rs.
2012-04-19 16:21:15 -07:00
Graydon Hoare
1e51196f33
Get fixed-size evecs working.
2012-04-19 15:52:50 -07:00
Graydon Hoare
956bc773c6
Fix [] on str to exclude the trailing null.
2012-04-18 17:50:58 -07:00
Marijn Haverbeke
aa4278a3f5
Require values to be copyable when cast
...
Closes #2222
2012-04-18 17:21:39 +02:00
Marijn Haverbeke
fda7bb6721
Fix oversight in type_use.rs
...
Closes #2053
2012-04-18 17:21:39 +02:00
Marijn Haverbeke
054a312a33
Stop duplicating non-generic resource destructors
...
Closes #2177
2012-04-18 17:21:39 +02:00
Marijn Haverbeke
a0fa099469
Add a needs_drop intrinsic
...
Closes #2055
2012-04-18 13:15:02 +02:00
Marijn Haverbeke
35b8f87b89
Fix use of wrong block context in return-from-loop code
...
Closes #2142
2012-04-18 13:00:18 +02:00
Graydon Hoare
70a9ce626d
Implement slice-borrowing on estr-uniq and str values.
2012-04-17 15:15:20 -07:00
Niko Matsakis
4c26d70a0a
new debug flag, new test
2012-04-17 12:02:36 -07:00
Niko Matsakis
6b549f9f14
repair LUB/GLB of free/scope regions, and enable test
2012-04-17 12:02:36 -07:00
Niko Matsakis
35a93e61d4
rewrite region resolution so it takes place in typeck
2012-04-16 19:48:00 -07:00
Graydon Hoare
82727b926f
Get explicit unique estrs working.
2012-04-16 16:17:51 -07:00
Brian Anderson
4f576275be
syntax: Cleanup attr module. Closes #1545
2012-04-15 01:43:38 -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
Niko Matsakis
247db704a9
integrate simple notion of borrowing into trans
2012-04-13 21:06:57 -07:00
Niko Matsakis
378996092e
store into the borrowings table
2012-04-13 21:06:57 -07:00
Niko Matsakis
b3f308bec5
add initial code re: slices to borrowing, improve ty_to_str
2012-04-13 21:06:56 -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
1adc26d5e7
Annotate FIXMEs in syntax::ast and syntax::ast_util
...
The main non-comment change was to change simple_path to path,
as per a FIXME in ast.
2012-04-13 01:46:56 -07:00
Brian Anderson
79e572ebbb
rustc: Fix handling of - and _ in lint pass
2012-04-12 18:11:23 -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
891dc84be2
rustc: Long lines
2012-04-11 21:32:05 -07:00
Brian Anderson
e7409859ce
rustc: Fix typo in error message
2012-04-11 21:25:32 -07:00
Niko Matsakis
e712ad8f73
rewrite lookup_method(), lookup_method_inner(), and lookup_method_inner_()
2012-04-11 17:21:53 -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
Niko Matsakis
8967c4b409
simplify demand module
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
c720ffdbc4
Improve region code surrounding slice types.
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
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
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
Haitao Li
46e4aaa0be
rustc: External fns declared as fns not global variables
...
Issue #2167
2012-04-09 14:38:53 +08:00
Haitao Li
460b92a37f
rustc: Declare rust_start as a function
...
Issue #2167
2012-04-09 12:02:16 +08: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
Niko Matsakis
5300662b4e
Refactor inference so that subtyping/lub/glb share more code
2012-04-07 07:25:41 -07:00
Haitao Li
2f42b14b4f
Use version and hash in crate_map name
...
Related issue #2137
2012-04-07 22:11:23 +08:00
Tim Chevalier
9d274ec5f2
Re-rename option functions
...
get_with_default (nee from_maybe) => get_default
with_option (nee maybe) => map_default
with_option_do (nee may) => iter
As per discussion of 21be1379d5
2012-04-06 12:20:13 -07: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
Niko Matsakis
0255bf30ea
continue refactoring to remove commutativity assumption
...
and introduce more indirection where it may be needed
2012-04-06 10:35:44 -07:00
Niko Matsakis
586b072eef
Make tps invariant for now. Fixes #1973 .
2012-04-06 08:31:12 -07:00
Niko Matsakis
9de288c35f
further refactoring away from commutativity
2012-04-06 08:10:07 -07:00
Niko Matsakis
4856eab844
refactor to make combine less inherently commutative
2012-04-06 08:03:59 -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
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
Niko Matsakis
b91c9f803d
simplify typing rule for vector addition: use mutability of LHS
2012-04-05 15:18:26 -07:00
Tim Chevalier
5a3875e998
Print "expected a record with field..." fields in the right order
...
Because terr_record_mismatch was getting called by infer::flds,
which takes types a and b where it's trying to prove a <: b, the
expected and actual fields were switched. Fixed it. Closes #2094
2012-04-05 15:16:12 -07:00
Niko Matsakis
c0d61795de
wip: refactor repr of regions
...
- we now distinguish bound/free parameters (see region-param
test case for why this is necessary)
- we also track bounds on region variables
- also, restructure fold_ty() to have multiple variants without
duplication instead of one overloaded folder. This also allows
for using block functions.
2012-04-04 19:41:23 -07:00
Niko Matsakis
1956d11f84
refactor to condense common usage pattern
2012-04-04 19:17:06 -07:00
Graydon Hoare
ab4105d9e8
Make nonconstructable enums noncopyable, close #1907 .
2012-04-04 19:07:52 -07:00
Brian Anderson
9aa7241f05
rustc: Don't allow recursive constants
2012-04-04 16:12:57 -07:00
Brian Anderson
38ed2ea096
rustc: Allow consts to refer to other consts
2012-04-04 15:03:39 -07:00
Erick Tryzelaar
2ad20df40b
std: Rename result::methods to result::extensions
2012-04-03 22:43:09 -07:00
Erick Tryzelaar
4871f11439
std: change timeval to ns resolution timespec
...
This lets us use the more precise clock_gettime on posix
machines.
2012-04-03 22:43:08 -07:00
Erick Tryzelaar
7aae7320db
std: change time::timeval to be {sec: i64, usec: i32}.
...
It's possible to have negative times if expressing time before 1970, so
we should use signed types. Other platforms can return times at a higher
resolution, so we should use 64 bits.
2012-04-03 22:43:08 -07:00
Tim Chevalier
1f892dcb01
Monomorphize class constructors, support generic classes and class methods
...
Allow class methods to have type parameters (this is a change from the
original classes proposal).
Add test cases for classes with type parameters, and classes with methods
that have their own type parameters.
2012-04-03 16:23:50 -07:00
Marijn Haverbeke
f65e26eeee
Output type sizes in reinterpret_cast error message
...
Closes #2095
2012-04-03 16:37:54 +02:00
Marijn Haverbeke
90d3f0fb5e
Ensure method names in iface and impl items are unique
...
Closes #2114
2012-04-03 16:37:28 +02:00
Graydon Hoare
28a0e9c999
Construct new strings through upcalls.
2012-04-02 17:38:06 -07:00
Tim Chevalier
21be1379d5
Rename some core::option functions
...
from_maybe => get_with_default
maybe => with_option
may => with_option_do
I know these names are kind of ridiculous, but it's the best I could think of.
Feel free to bikeshed. Closes #2081
2012-04-02 16:12:49 -07:00
Graydon Hoare
987bc23629
Remove redundant **tydesc gepi/load pair in call_tydesc_glue_full.
2012-04-02 15:26:12 -07:00
Brian Anderson
0904f25507
rustc: Convert some error logs to debug
2012-03-30 17:31:40 -07:00