Niko Matsakis
|
903033bb03
|
handle fixed-length vecs in borrowck categorization
|
2012-06-04 16:40:09 -07:00 |
|
Michael Sullivan
|
6d9dd055d1
|
Get rid of warnings from instantiating typarams with non-implicitly copyable types.
|
2012-06-04 16:35:32 -07:00 |
|
Michael Sullivan
|
4d5d43beae
|
Warn when invoking polymorphic functions with non copyable types. Closes #2466.
|
2012-06-04 16:30:41 -07:00 |
|
Michael Sullivan
|
5a4e53487f
|
Heavily rework lint infrastructure. Split it into two passes: one that builds the table and one that does the checks. Build the table early and make session know about it fo reasy use.
|
2012-06-04 16:08:07 -07:00 |
|
Niko Matsakis
|
3c4baf694e
|
better support for classes with polymorphic methods
|
2012-06-04 11:46:23 -07:00 |
|
Michael Sullivan
|
7213274e57
|
Make how lint handles unknown warn directives configurable by lint (default to warn). Closes #2480.
|
2012-06-04 09:54:03 -07:00 |
|
Michael Sullivan
|
9be94f6650
|
Provide mechanisms to inspect warning settings from outside lint.
|
2012-06-04 09:54:03 -07:00 |
|
Niko Matsakis
|
01b5777c8b
|
prohibit type parameters in native fns and other minor fixes
trans now can safely assert that it never sees a type param
|
2012-06-03 20:03:08 -07:00 |
|
Niko Matsakis
|
3f6e6532ac
|
make vec fns/methods take imm slices.
this also repairs the unsoundness in typing of unpack_slice,
which was silently converting a const ptr to an imm one.
|
2012-06-02 19:14:57 -07:00 |
|
Lindsey Kuper
|
7d0755529e
|
Add ty_var_integral (WIP on issue #1425).
|
2012-06-02 11:19:27 -07:00 |
|
Niko Matsakis
|
77c470d183
|
Allow rcvrs to be borrowed; check rcvrs in borrowck properly
|
2012-06-02 10:08:04 -07:00 |
|
Niko Matsakis
|
cfac9b6833
|
improve borrowck to handle some frankly rather tricky cases
- receivers of method calls are also borrowed
- by-val arguments are also borrowed (needs tests)
- assignment to components can interfere with loans
|
2012-06-02 10:08:04 -07:00 |
|
Tim Chevalier
|
14e3fdea9c
|
Check that classes are instantiable
that is, check that there aren't any mutually recursive cycles between
classes and other types
|
2012-06-01 20:40:35 -07:00 |
|
Tim Chevalier
|
79787833bb
|
Make sure classes with dtors are still sendable (but not copyable)
|
2012-06-01 20:40:35 -07:00 |
|
Tim Chevalier
|
475013fcb6
|
Comment only: fix typo
|
2012-06-01 20:40:35 -07:00 |
|
Tim Chevalier
|
facb5c08c6
|
Enforce rule that classes with dtors aren't copyable
The test for this is copy-a-resource.
|
2012-06-01 20:40:35 -07:00 |
|
Tim Chevalier
|
bc5cb4deb3
|
Change type_needs_drop to say that any class w/ a dtor needs a drop
This was preventing dtors from running for class types that didn't
have pointer fields.
|
2012-06-01 20:40:34 -07:00 |
|
Michael Sullivan
|
8f7364b26d
|
Don't try to compute kinds of fictitious types. Indicate a bug instead.
|
2012-06-01 17:58:40 -07:00 |
|
Niko Matsakis
|
6c6ad229a3
|
break up borrowck into modules and begin to document how it works
|
2012-06-01 10:50:19 -07:00 |
|
Michael Sullivan
|
e47962f6a9
|
Have lint build up a table of the warning settings on a per item basis for later use.
|
2012-05-31 19:07:24 -07:00 |
|
Michael Sullivan
|
d1a65da835
|
Time lint in the driver like every other pass, instead of in lint.
|
2012-05-31 19:07:24 -07:00 |
|
Michael Sullivan
|
af228711e5
|
Make lint properly deal with nested items. Closes #2473.
|
2012-05-31 19:07:24 -07:00 |
|
Michael Sullivan
|
84adcb9806
|
Rework lint to copy lint mode maps when changing them.
|
2012-05-31 19:07:24 -07:00 |
|
Michael Sullivan
|
7b02f29d47
|
Switch lint over to using a smallintmap.
|
2012-05-31 18:38:42 -07:00 |
|
Michael Sullivan
|
3dfb174793
|
Remove some dead code from kind checking.
|
2012-05-31 18:38:42 -07:00 |
|
Brian Anderson
|
89aa28289b
|
rustc: Use fewer boxes in typestate
|
2012-05-31 16:20:58 -07:00 |
|
Niko Matsakis
|
c2ce2741a7
|
allow mutable vectors and so forth to be used as immutable slices
|
2012-05-31 15:07:09 -07:00 |
|
Eric Holk
|
0470abe1d2
|
Allow some resources to be considered const.
|
2012-05-31 13:55:54 -07:00 |
|
Kevin Cantu
|
7dcbaedd32
|
Rename librustsyntax to libsyntax
Per issue #2418.
|
2012-05-31 11:15:00 -07:00 |
|
Brian Anderson
|
41b02b7c57
|
Merge remote-tracking branch 'brson/self-describing-uniques'
Conflicts:
src/snapshots.txt
|
2012-05-31 01:26:05 -07:00 |
|
Brian Anderson
|
151de909c1
|
rustc: Do less work still in typestate
|
2012-05-30 23:20:31 -07:00 |
|
Brian Anderson
|
4b7e40d817
|
rustc: Remove debug logging
|
2012-05-30 21:23:34 -07:00 |
|
Brian Anderson
|
a2bbdd3f52
|
rt: Remove upcall_shared_malloc/free/realloc
|
2012-05-30 21:23:34 -07:00 |
|
Brian Anderson
|
80dc2e11a1
|
rustc: Remove the last use of upcall_shared_malloc
|
2012-05-30 21:23:34 -07:00 |
|
Brian Anderson
|
54d42c4d74
|
rustc: Make trans handle self-describing strings
|
2012-05-30 21:23:34 -07:00 |
|
Brian Anderson
|
09a1b94907
|
Various changes for self-describing vecs
|
2012-05-30 21:23:34 -07:00 |
|
Brian Anderson
|
c6a23cddfb
|
rustc: Make unique closures use the new unique allocator
|
2012-05-30 21:23:34 -07:00 |
|
Brian Anderson
|
654f7e3086
|
rustc: Make unique boxes self-describing
|
2012-05-30 21:23:34 -07:00 |
|
Brian Anderson
|
45933ca485
|
rustc: Add some methods for trans for mallocing uniques
|
2012-05-30 21:23:34 -07:00 |
|
Brian Anderson
|
508ccca014
|
rt: Add upcall_exchange_malloc/free
|
2012-05-30 21:23:33 -07:00 |
|
Brian Anderson
|
6d37c90ce6
|
rustc: Remove tuplify_cbox_ty. Unused
|
2012-05-30 21:23:33 -07:00 |
|
Brian Anderson
|
02dde781eb
|
rustc: Don't typestate fns that don't have constrained function calls
|
2012-05-30 17:48:05 -07:00 |
|
Michael Sullivan
|
ea8d4d7f17
|
Properly sign extend array indexes. Closes #2468.
|
2012-05-30 17:09:52 -07:00 |
|
Michael Sullivan
|
7fee392de5
|
Handle differing signedness in constant shifts. Closes #2426.
|
2012-05-30 15:03:24 -07:00 |
|
Eric Holk
|
f49b891ce5
|
Include capture clauses when generating metadata.
This may fix the bug that's blocking Issue #2441.
|
2012-05-30 12:03:51 -07:00 |
|
Niko Matsakis
|
1f4b3cfc36
|
zero out alloca for preserving values
conservatively do it always for now
|
2012-05-30 11:26:15 -07:00 |
|
Niko Matsakis
|
555492e427
|
port alt to dvec
|
2012-05-30 11:26:15 -07:00 |
|
Niko Matsakis
|
79b3dedac3
|
allow for loop bodies
|
2012-05-30 11:26:15 -07:00 |
|
Niko Matsakis
|
653a1f8781
|
integrate purity into type
|
2012-05-30 11:26:15 -07:00 |
|
Niko Matsakis
|
22a10f0e4a
|
refactor region manip. to remove redundancy, get closer to fn subtyping
also: remove "auto-mode-matching" for implemented interfaces, as it
is complex and interacts poorly with classes
cc #2263
|
2012-05-30 11:04:12 -07:00 |
|