about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-12-18Only look for a matching method when normal field access failsMarijn Haverbeke-91/+93
We should probalby warn when defining a method foo on {foo: int} etc. This should reduce the amount of useless typevars that are allocated. Issue #1227
2011-12-18Improve efficienty of impl cache in resolveMarijn Haverbeke-10/+15
And fix a bug where importing anything from an external module would import all impls in the module. Issue #1227
2011-12-18rustc: Don't emit compact unwind info on macBrian Anderson-0/+8
It's not compatible with the subtlety of __morestack
2011-12-17rustc: Remove --stack-growth optionBrian Anderson-5/+0
2011-12-16allow #[link_args] with #[nolink]. For now, fail if two modules link same ↵Graham Fawcett-15/+20
lib, and second has link_args. I think it should undefined to have multiple modules that link in the same library, but provide different link arguments. Unfortunately we don't track link_args by module -- they are just appended as discovered into the crate store -- but for now, it should be an error to provide link_args on a module that's already been included (with or without link_args).
2011-12-16implement #[nolink]; deprecate #[link_name = ""]; note in stdlib to remove ↵Graham Fawcett-1/+8
empty link_name. Can't remove them from stdlib until the snapshotted compiler supports #[nolink].
2011-12-16Fix arg order for vec::map callMarijn Haverbeke-4/+5
2011-12-16Finish resolving and calling of crate-external implsMarijn Haverbeke-76/+196
Issue #1227
2011-12-16Reserve node_id 0 for the crate top-level moduleMarijn Haverbeke-9/+12
And define a const to refer to it.
2011-12-16Switch fmt extension to reference extfmt that's in core.Graydon Hoare-7/+2
2011-12-16revoke cleanup of sendable closure once construction completesNiko Matsakis-0/+1
2011-12-16extend with ty_send_type and ty_opaque_closureNiko Matsakis-2/+11
2011-12-16rename iter2 to iteri to match typical conventionNiko Matsakis-3/+3
2011-12-16reorder args to the various vec, option fns so blk comes lastNiko Matsakis-108/+107
2011-12-16Write impl data to crate library filesMarijn Haverbeke-1/+41
(No one is actually reading it yet.) Issue #1227
2011-12-16Make polymorphic impl methods workMarijn Haverbeke-56/+82
Something will still have to be done to the AST to make it possible to say `x.foo::<int>()`, since currently field access never allows type parameters. Issue #1227
2011-12-16Change syntax for implMarijn Haverbeke-20/+16
Move the name of the bundle to the front, allow type parameters (not handled yet), and add a 'for' keyword: impl utils for int { fn str() -> str { int::str(self) } fn times(f: block()) { ... } }
2011-12-16Make 1.f parse as a field access on the integer 1Marijn Haverbeke-1/+1
A dot is only considered part of a number when not followed by a letter Closes #1306
2011-12-16Improve resolution of implsMarijn Haverbeke-18/+33
Issue #1227
2011-12-16Make uses of self in impls compileMarijn Haverbeke-201/+135
Get rid of expr_self_call, introduces def_self. `self` is now, syntactically, simply a variable. A method implicitly brings a `self` binding into scope. Issue #1227
2011-12-16Get very simple impl method calls to compileMarijn Haverbeke-60/+103
Resolution is still dumb, and no self support yet.
2011-12-16Get a very primitive form of typechecking/resolving to work for implsMarijn Haverbeke-62/+93
No conflict resolution or polymorphism yet. Issue #1227
2011-12-16Parse and resolve implementations.Marijn Haverbeke-81/+261
Issue #1227
2011-12-16rustc: Implement non-renamed re-export across cratesHaitao Li-38/+108
First patch for issue #1115. Not yet ready for re-exported modules which are renamed when importing them.
2011-12-15rustc: Box tag variants to avoid copiesBrian Anderson-5/+5
2011-12-15rustc: Box the vectors returned from ty::tag_variantsBrian Anderson-37/+39
2011-12-15rustc: Cache results of ty::tag_variantsBrian Anderson-5/+16
2011-12-15Add an --out-dir option to rustc.Graydon Hoare-34/+70
2011-12-15restore old buggy behavior where n_obj_params is always 0 for fnsNiko Matsakis-1/+9
2011-12-15massive refactor of how closures workNiko Matsakis-504/+582
2011-12-15resurrect tps_fn() and put it to use this time.Niko Matsakis-3/+5
2011-12-15Fix bug in library output filename construction: /tmp/foo.rc was being ↵Graydon Hoare-1/+11
linked as lib/tmp/foo-<hash>-<vers>.so not /tmp/foo-<hash>-<vers>.so
2011-12-15Iterate over an array when creating the parser's reserved word tableMarijn Haverbeke-38/+8
2011-12-15Don't try to look up crate modules in ext_map in resolveMarijn Haverbeke-1/+1
Closes #1305
2011-12-14remove unused tps_fn(); comment out unused varNiko Matsakis-4/+3
2011-12-14refactor trans into trans_closure; restore original closure reprNiko Matsakis-415/+442
2011-12-14treat native fns as shared closuresNiko Matsakis-0/+1
2011-12-14insert a field into the closure storing number of ty descsNiko Matsakis-19/+24
2011-12-14pull out the code from iter_structural_ty for handling functions,Niko Matsakis-29/+55
as we will have to do very careful and non-generic things
2011-12-14treat different kinds of closures differentlyNiko Matsakis-19/+53
2011-12-14change syntax from lambda[send] to sendfnNiko Matsakis-82/+15
2011-12-14restructure, temporarily working around what looks like an LLVM bugNiko Matsakis-3/+37
2011-12-14translate unique closure env betterNiko Matsakis-25/+49
2011-12-14remove unused optionsNiko Matsakis-15/+5
2011-12-14remove extra trailing semicolonNiko Matsakis-1/+1
2011-12-14restore old functionality for nowNiko Matsakis-7/+25
2011-12-14get basic code generation working, clone type descs for lambda[send]Niko Matsakis-33/+78
2011-12-14make fact that trans'ing lvar does not modify bcx explicit in typeNiko Matsakis-12/+19
2011-12-14sendable functions now "work", meaning pass through trans/typestateNiko Matsakis-2/+7
but they do not generate correct code
2011-12-14push changes through to get things compiling, if not running.Niko Matsakis-60/+103