about summary refs log tree commit diff
path: root/src/rustc
AgeCommit message (Collapse)AuthorLines
2012-05-11First working monomorphic type-reflection.Graydon Hoare-18/+80
2012-05-10replace mutbl pass with borrowckNiko Matsakis-507/+406
2012-05-10Preliminary groundwork for intrinsic module, reflection interface.Graydon Hoare-0/+211
2012-05-10Remove `do { ... } while ...` from the language.Paul Stansifer-89/+9
2012-05-10Removed all 4 uses of `do ... while` in the codebase.Paul Stansifer-6/+9
2012-05-09rustc: Refactor driver to better understand string sourcesBrian Anderson-28/+73
2012-05-09implement new borrow ck (disabled by default)Niko Matsakis-274/+1660
2012-05-09reduce self type to a special type parameterNiko Matsakis-314/+243
2012-05-08rustc: Extract session::basic_options from rustdocBrian Anderson-0/+29
2012-05-08Support visibility modifiers and attributes on view itemsMarijn Haverbeke-2/+8
Issue #1893 Tangentially, issue #2357
2012-05-08Start parsing pub/priv on regular itemsMarijn Haverbeke-33/+37
Issue #1893
2012-05-07rustc: Put all boxes into addrspace 1Brian Anderson-8/+61
2012-05-07That awkward moment when you forget to add your final changesTim Chevalier-2/+3
Fixes build breakage.
2012-05-07In resolve, visit the path in an iface refTim Chevalier-12/+40
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-07make it illegal to implicitly capture mutable variablesNiko Matsakis-88/+134
this is the final part of #1273
2012-05-04new cap clause syntaxNiko Matsakis-173/+213
2012-05-03Turn constants in back::abi into uints, and propagate typesTim Chevalier-199/+184
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-03allow enums that ref themselves via unsafe pointersNiko Matsakis-1/+4
2012-05-03Removed unused import of std::dequeTim Chevalier-1/+1
2012-05-03Revert "allow fn exprs to omit arg types"Niko Matsakis-118/+71
This reverts commit 1ba4ca4c4a0153578e812baf5f7f5554d079de40.
2012-05-03allow fn exprs to omit arg typesNiko Matsakis-71/+118
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-03Implement better shape code for evec, estr.Graydon Hoare-32/+21
2012-05-03Check early on in typeck that types being implemented are actually iface typesTim Chevalier-5/+12
Closes #2330.
2012-05-03rustc: Fix comment about ABI in trans::nativeBrian Anderson-1/+1
2012-05-03rustc: Link to original Clay x86 classification codeBrian Anderson-0/+3
2012-05-03add forgotten index and fix array typeJyun-Yan You-16/+18
2012-05-03Mention missing constructor when complaining about inexhaustive top-level ↵Marijn Haverbeke-11/+27
pattern It previously, uselessly, only pointed out the constructor when the inexhaustive pattern was nested in some other pattern. Closes #2337
2012-05-02report ambig impl methodsNiko Matsakis-0/+19
2012-05-02rustc: Hack around some FFI bustage. Unbreak servoBrian Anderson-0/+25
2012-05-02Error message reformatting, close #2309.Graydon Hoare-2/+2
2012-05-02Remove commented-out code and old comments that accidentally snuck inTim Chevalier-44/+4
2012-05-02Encode the ifaces a class implements in metadataTim Chevalier-42/+129
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-01Fix symbol mangling in the presence of trailing version numbers.Graydon Hoare-0/+8
2012-05-01New lint pass for picking out uses of old-style vecs and str.Graydon Hoare-2/+53
2012-05-01Remove code that was accidentally committedTim Chevalier-4/+1
This was a workaround for the bug that was actually fixed in 164039e86720b5e6c06ca2320700d979f60d69d6
2012-05-01Don't re-export a glob-imported ID when the same ID is defined withinTim Chevalier-4/+13
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-04-30Stop inferring bot/static when types/regions are unconstrained.Niko Matsakis-48/+150
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-30Revert "Eliminate a copy in syntax::parse::new_parser_from_file"Tim Chevalier-1/+1
This reverts commit 2bb3b63ec4379b812aeceb690d78763ec55d3cbb. (I was confused.)
2012-04-30Eliminate a copy in syntax::parse::new_parser_from_fileTim Chevalier-1/+1
Fixing a FIXME turned out to be pretty involved. I added an io function that returns a unique boxed string (for the contents of a file) rather than a string, and went from there. Also made the src field of codemap a unique boxed string. This doesn't seem to make that much difference in amount of allocation according to valgrind (disappointingly), but I also had to introduce a copy somewhere else pending a new snapshot, so maybe that's it.
2012-04-28rustc: Use a slightly more consistent style for unexpected errorsBrian Anderson-6/+12
2012-04-27rustc: Remove old align_of intrinsicBrian Anderson-7/+2
2012-04-27rustc: Clean up some enum codeBrian Anderson-16/+5
2012-04-27core: Split sys::align_of into min_align_of, pref_align_ofBrian Anderson-4/+4
2012-04-27rustc: Add min_align_of, pref_align_of intrinsic, deprecate align_ofBrian Anderson-2/+13
2012-04-26rustc: Add llalign_of_minBrian Anderson-0/+6
2012-04-26rustc: Rename llalign_of_real to llalign_of_prefBrian Anderson-8/+10
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-26rustc: Add LLVM bindings for more alignment-related functionsBrian Anderson-1/+8
2012-04-26Add check for path-statements, close #400.Graydon Hoare-1/+28
2012-04-26Lowercase warning message.Graydon Hoare-1/+1
2012-04-26Describe warnings on command line if user says -W help.Graydon Hoare-5/+41