Tim Chevalier
300f54ebc0
Make alts on uninhabited enum types typecheck and translate properly
...
Possibly one of the silliest Rust commits ever.
Closes #3037
2012-07-27 13:14:03 -07:00
Eric Holk
6d142c5e25
Removed the rest of the vec::view calls that were marked with #2880 . Fixes #2880 .
2012-07-26 17:10:48 -07:00
Eric Holk
65beca4e01
Use iteration protocol for ebml, use vec::view in more places (issue #2880 )
2012-07-26 17:10:48 -07:00
Graydon Hoare
dbbaa50290
Nomenclature fixes in the lint checker. Fewer double-negatives.
...
New style is allow(foo), warn(foo), deny(foo) and forbid(foo),
mirrored by -A foo, -W foo, -D foo and -F foo on command line.
These replace -W no-foo, -W foo, -W err-foo, respectively.
Forbid is new, and means "deny, and you can't override it".
2012-07-26 17:08:33 -07:00
Patrick Walton
afd9a75c9e
rustc: Fix cross-crate max/min-class-style constructors
2012-07-26 15:30:15 -07:00
Patrick Walton
da80bd17c3
rustc: Introduce a lang_items pass, part of coherence and operator overloading.
...
This will also help us remove kinds.
2012-07-25 18:37:03 -07:00
Eric Holk
e1d4bd463c
3x faster typechecking
2012-07-25 18:00:29 -07:00
Eric Holk
3aee39a6ec
Add #[inline(never)], and also fixed inlining on vec::push
2012-07-25 17:30:13 -07:00
Elliott Slaughter
987814f11e
Added debug flag to enable LLVM debug output.
2012-07-25 16:00:13 -07:00
Niko Matsakis
4b8d0539f9
adjust deprecated_use not to warn about sugared closures
2012-07-25 10:19:28 -07:00
Niko Matsakis
dc744e816d
fix oversight in ty_decode.
...
I thought this case would not come up.
2012-07-25 09:19:59 -07:00
Niko Matsakis
cc8086a045
add new deprecated_mode lint pass
...
It will warn you if you use the default mode for something that
is expensive to copy, and it will warn you if you use any explicit
mode other than copy. So you should migrate over to using the
default mode for most things (and borrowed pointers when you don't
want to copy) and copy mode for things you really wanted to copy.
2012-07-25 09:19:02 -07:00
Niko Matsakis
99674dc52b
avoid capture of bound regions when infering types for closure
...
expressions. cc #2981
2012-07-25 05:45:52 -07:00
Niko Matsakis
2d3a197f0e
comment various region-related things better
2012-07-25 05:45:52 -07:00
Niko Matsakis
7022ede9b3
make unique pointers inherit mutability from owner
2012-07-25 05:45:52 -07:00
Niko Matsakis
168306f11b
correct treatment of mutability for deref'd components
...
Fixes #2980
2012-07-25 05:45:52 -07:00
Elliott Slaughter
d9c9a2f97e
Remove rustllvm functions which have moved upstream.
2012-07-24 17:11:13 -07:00
Patrick Walton
0737f1b53d
rustc: Write impl attributes into the metadata
2012-07-24 17:06:32 -07:00
Patrick Walton
587b0edbbf
rustc: Don't require that structs have constructors
2012-07-24 15:29:51 -07:00
Patrick Walton
32e8429341
rustc: Translate struct literals
2012-07-24 13:59:17 -07:00
Graydon Hoare
539a160bb7
Merge pull request #3003 from elliottslaughter/free-cant-fail
...
Don't emit invoke instructions inside landing pads.
2012-07-24 13:49:24 -07:00
Graydon Hoare
8868b222c3
Fix whitespace.
2012-07-24 13:21:25 -07:00
Graydon Hoare
a63e0e47f0
Update some str functions to slices, merge as_buf and unpack_slice.
2012-07-24 12:35:52 -07:00
Elliott Slaughter
c341eb9052
Don't emit invoke instructions inside landing pads.
...
We can't throw an exception from inside a landing pad without
corrupting the exception handler, so we have no hope of dealing with
these exceptions anyway. See:
http://llvm.org/docs/ExceptionHandling.html#cleanups
Part of #2861 .
2012-07-24 12:20:39 -07:00
Patrick Walton
0930b95395
rustc: Typecheck struct literals
2012-07-24 11:29:07 -07:00
Patrick Walton
b3cad86a05
rustc: Resolve struct names in struct literals
2012-07-23 18:58:57 -07:00
Graydon Hoare
7680f504c2
Merge pull request #2998 from elliottslaughter/no-landing-pads
...
Add debug flag to turn off landing pads.
2012-07-23 16:47:35 -07:00
Patrick Walton
df4db83ed8
rustc: Max/min classes: Add struct literal syntax
2012-07-23 16:40:05 -07:00
Tim Chevalier
4806a4f120
Merge pull request #3000 from dgryski/master
...
Fix formatting of multiline code blocks in asm-comments
2012-07-23 14:39:08 -07:00
Damian Gryski
9b02acbc5d
Fix formatting of multi-line blocks in asm-comments
2012-07-23 23:18:12 +02:00
Patrick Walton
674dd14eec
rustc: Make vtables use the coherence tables
2012-07-23 13:24:05 -07:00
Elliott Slaughter
d8c75cfbe7
Add debug flag to turn off landing pads.
2012-07-23 13:07:35 -07:00
Elliott Slaughter
d257382863
Moved malloc and free upcalls into rust runtime.
2012-07-23 10:45:58 -07:00
Elliott Slaughter
de82a9be61
Move fail upcall into rust libcore.
2012-07-23 10:45:58 -07:00
Tim Chevalier
beb2cd1658
Remove what's left of resolve1
2012-07-20 17:08:19 -07:00
Tim Chevalier
bb2c45feae
Fix string
2012-07-19 19:10:21 -07:00
Tim Chevalier
ce46e113c5
Merge pull request #2910 from gwillen/bug-2360
...
Better error when rustc fails to write output.
2012-07-19 19:01:22 -07:00
Niko Matsakis
f676547c97
Fix intersection of two region params in infer, cc #2962
2012-07-19 10:14:16 -07:00
Patrick Walton
f48dcaaae3
rustc: Make vtable do duplicate-impl checking. Closes #2958 .
2012-07-18 18:10:00 -07:00
Tim Chevalier
3119afc6e8
In resolve3, error on non-existent imports
...
Closes #2937
2012-07-18 18:02:07 -07:00
Tim Chevalier
de5d5e6eeb
Remove non-existent imports
2012-07-18 18:02:07 -07:00
Patrick Walton
57e8de8917
rustc: Implement multiple-traits-per-impl for cross-crate stuff
2012-07-18 17:34:59 -07:00
Patrick Walton
635a959363
rustc: Make coherence aware of multiple-traits-per-impl
2012-07-18 17:08:42 -07:00
Patrick Walton
9d34c706b2
rustc: Move ty::impl_traits over to a multiple-traits-per-impl world
2012-07-18 16:49:55 -07:00
Patrick Walton
3c583def25
rustc: Make resolve3 multiple-trait-per-impl-aware
2012-07-18 16:28:59 -07:00
Patrick Walton
3ac5b4a86f
syntax: Parse multiple trait refs in a single implementation
2012-07-18 16:05:17 -07:00
Patrick Walton
1528256fdc
rustc: Encode metadata unconditionally for impls/traits/classes. Closes #2945 .
2012-07-18 14:43:16 -07:00
Niko Matsakis
e0ea67a2a6
prevent regions from escaping in ifaces; remove &r.T syntax
2012-07-18 11:48:58 -07:00
Niko Matsakis
4ee4a2ab31
borrow from @[] vectors (cc #2797 )
2012-07-17 19:16:00 -07:00
Patrick Walton
db020ab63c
rustc: Implement and enforce instance coherence
2012-07-17 15:46:43 -07:00