about summary refs log tree commit diff
path: root/src/rustc/middle
AgeCommit message (Collapse)AuthorLines
2012-08-06rustc: Parse and stub (broken) typechecking for bounded function typesPatrick Walton-36/+53
2012-08-06rustc: Implement pattern matching for structsPatrick Walton-37/+266
2012-08-06Shorten lines, fix build breakageTim Chevalier-5/+6
2012-08-06In resolve, forbid duplicate value, type, and module itemsTim Chevalier-37/+145
Closes #3099
2012-08-06make `ref x` bindings produce region ptrs and fix various minor bugsNiko Matsakis-99/+158
we now detect inconsistent modes, binding names, and various other errors. typeck/trans integration is mostly done. borrowck not so much. more tests needed.
2012-08-06Convert alt to match. Stop parsing altBrian Anderson-1295/+1310
2012-08-06rustc: Implement functional record update for structsPatrick Walton-35/+85
2012-08-05Switch alts to use arrowsBrian Anderson-3598/+3566
2012-08-04rustc: Normalize region-bounded string slices properlyPatrick Walton-0/+4
This prevents an LLVM assertion that will bite you if you try to put a static string in an Error.
2012-08-03Translate const vecs, most of const slices. More for #2317.Graydon Hoare-9/+48
2012-08-03rustc: Merge fn& and fn in favor of fn&.Patrick Walton-20/+16
This is a step on the way to moving the function "proto" sigil out front.
2012-08-03rustc: Translate repeated vector syntaxPatrick Walton-45/+99
2012-08-03Implement &-expressions in consts. Part of #2317.Graydon Hoare-2/+28
2012-08-03rustc: Parse and typecheck repeating vector expressions; e.g. [ 0, ..512 ]Patrick Walton-8/+52
2012-08-03Further work on default methods in traits.Lindsey Kuper-40/+63
And some trait-related code cleanup in typeck::collect.
2012-08-03rustc: Parse, serialize, and deserialize trait inheritancePatrick Walton-11/+31
2012-08-03rustc: Add the notion of inherited visibilityPatrick Walton-4/+5
2012-08-03rustc: Remove fixed-length string warningPatrick Walton-4/+1
2012-08-03rustc: "foo" is now a static stringPatrick Walton-15/+12
2012-08-03rustc: Remove all fixed-length strings from our codebasePatrick Walton-2/+5
2012-08-02Fix build breakageTim Chevalier-2/+1
2012-08-02Make comparisons between region pointers workTim Chevalier-8/+10
Region pointers were considered a scalar type, so compare_scalar_type would get called to compare region pointers in trans. This would fail, since compare_scalar_type has no case for region pointers. Changed type_is_scalar to return false for region pointers. This had the side effect of breaking casts to types of the form &T. To ameliorate that, I added library functions ptr::assimilate (taking a &T to a *T) and ptr::to_uint (taking a &T to a uint), both of which use reinterpret_cast. While I was at it, I removed ty::type_has_resources, which is dead code.
2012-08-02Purge placement new; Make borrowck know about unary move.Niko Matsakis-177/+24
cc #3071
2012-08-02When checking loop bodies and do-expr bodies, don't require the expected ↵Tim Chevalier-10/+12
type to exist If the expected type is none (due to a type error), we shouldn't fail with an ICE, but rather, just print out another type error. Changed the do-expr type error message to make sense in this context (see the test case for how it works). Closes #3044.
2012-08-02Fixing a long lineEric Holk-1/+2
2012-08-02rustc: Translate class literals correctly if the class has a destructorPatrick Walton-1/+11
2012-08-02rustc: Throw out some more regions when normalizing typesPatrick Walton-22/+37
2012-08-02De-duplicate core::hash some, refactor the traits.Graydon Hoare-2/+2
2012-08-02Make typeck::collect aware of provided methods in traits.Lindsey Kuper-2/+13
2012-08-02Extend ast_map to know about method declarations in traits.Michael Sullivan-1/+13
2012-08-02Remove modes from map API and replace with regions.Niko Matsakis-70/+76
API is (for now) mostly by value, there are options to use it by reference if you like. Hash and equality functions must be pure and by reference (forward looking to the day when something like send_map becomes the standard map).
2012-08-01Convert ret to returnBrian Anderson-1323/+1355
2012-08-01rustc: Translate by-value pattern bindingsPatrick Walton-35/+120
2012-08-01Start adding infrastructure for checking trait method bodies.Lindsey Kuper-0/+15
2012-08-01Rename `convert_class_item` to `convert_field`.Lindsey Kuper-5/+5
2012-08-01Fix bad indentation.Lindsey Kuper-11/+11
2012-08-01Introduce self_info (self_ty packaged up with a node_id).Lindsey Kuper-30/+61
2012-08-01Fix inaccurate comment.Lindsey Kuper-1/+1
2012-07-31change how we print and explain region typesNiko Matsakis-6/+4
2012-07-31rustc: Parse by-reference pattern bindings with the "ref" keywordPatrick Walton-58/+70
2012-07-31rustc: Add non_camel_case_types lint checkBrian Anderson-0/+41
2012-07-31Start implementing structured constants.Graydon Hoare-172/+182
2012-07-31rustc: Implement unary move. Closes #917.Patrick Walton-6/+14
2012-07-31Introduce 'return', 'match' and 'module' as synonymsBrian Anderson-198/+198
2012-07-31rustc: Check self types in method lookup; allow required trait methods to ↵Patrick Walton-15/+59
have self types; write self types into metadata
2012-07-31Change remaining "iface" occurrences to "trait"; deprecate "iface"Lindsey Kuper-37/+37
2012-07-30Frontend bits for #2317, general const-expr classification.Graydon Hoare-1/+192
2012-07-30Change syntax extension syntax: `#m[...]` -> `m!{...}`.Paul Stansifer-956/+956
2012-07-30Impl-ize interner.Paul Stansifer-3/+3
2012-07-30rustc: "iface" -> "trait" in comments, error messages, and identifiers.Lindsey Kuper-21/+21
(Also "interface" -> "trait" in error messages.)