about summary refs log tree commit diff
path: root/src/comp/middle/resolve.rs
AgeCommit message (Collapse)AuthorLines
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-16Fix arg order for vec::map callMarijn Haverbeke-4/+5
2011-12-16Finish resolving and calling of crate-external implsMarijn Haverbeke-19/+44
Issue #1227
2011-12-16Reserve node_id 0 for the crate top-level moduleMarijn Haverbeke-9/+11
And define a const to refer to it.
2011-12-16reorder args to the various vec, option fns so blk comes lastNiko Matsakis-3/+3
2011-12-16Make polymorphic impl methods workMarijn Haverbeke-1/+2
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-16Improve resolution of implsMarijn Haverbeke-18/+33
Issue #1227
2011-12-16Make uses of self in impls compileMarijn Haverbeke-20/+27
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 a very primitive form of typechecking/resolving to work for implsMarijn Haverbeke-22/+16
No conflict resolution or polymorphism yet. Issue #1227
2011-12-16Parse and resolve implementations.Marijn Haverbeke-35/+166
Issue #1227
2011-12-16rustc: Implement non-renamed re-export across cratesHaitao Li-20/+54
First patch for issue #1115. Not yet ready for re-exported modules which are renamed when importing them.
2011-12-15Don't try to look up crate modules in ext_map in resolveMarijn Haverbeke-1/+1
Closes #1305
2011-12-14sendable functions now "work", meaning pass through trans/typestateNiko Matsakis-0/+5
but they do not generate correct code
2011-12-13Copy first batch of material from libstd to libcore.Graydon Hoare-2/+3
2011-12-12Handle external-crate case when printing full unresolved pathsMarijn Haverbeke-5/+13
Closes #1283
2011-12-08rustc: Determine the crate type (lib/bin) in the session, not session optsBrian Anderson-1/+1
This is in preparation for adding a #[crate_type] attribute
2011-12-08Allow binding of nested patternsMarijn Haverbeke-3/+3
See src/test/run-pass/nested-patterns.rs for some examples. The syntax is boundvar@subpattern Which will match the subpattern as usual, but also bind boundvar to the whole matched value. Closes #838
2011-12-02Include full module path in unresolved errors when looking in moduleMarijn Haverbeke-28/+61
Closes #1228
2011-12-02Make import ignore imports coming after themMarijn Haverbeke-14/+54
This broke no code at all, so I guess people were already writing imports in this style. Issue #1228
2011-12-02Finally make the -1 crate id in resolve.rs a constMarijn Haverbeke-10/+7
2011-11-30Box ast::path valuesMarijn Haverbeke-6/+6
It seems inefficient to copy them around. Let's measure whether that's actually > the case
2011-11-23Add some changes that *should* have been in e98286b594Marijn Haverbeke-4/+4
Forgot to amend the commit after fixing the failure.
2011-11-23Allow import directives in any blockMarijn Haverbeke-72/+88
Closes #49
2011-11-17remove compile-command from local variable blocksNiko Matsakis-1/+0
2011-11-17rustc: Add a flag '--warn-unused-imports'Haitao Li-1/+3
Followup of issue #889
2011-11-17rustc: Fix warn on unused import bugHaitao Li-11/+10
rustc generates incorrect warning for cascaded import declarations like: use std; import std::io; import io::println; fn main() { println("hello"); } warning: unused import io A followup of issue #889
2011-11-16rustc: Use link_name attribute for native functionHaitao Li-2/+2
Fixes issue #906
2011-11-10Cleanup unused importsHaitao Li-3/+2
2011-11-10rustc: Add support of warning on unused importsHaitao Li-9/+35
Fixes issue #889
2011-11-03Disallow writing to function arguments againMarijn Haverbeke-0/+3
Remove implicit copying hack. Closes #1118
2011-11-02Rename car/cdr to head/tail in std::listMarijn Haverbeke-5/+4
Closes #1086
2011-11-02Make resolving of imports behave more sanelyMarijn Haverbeke-65/+57
An import now ignores itself when resolving its target. This gets rid of the previously existing (problematic) behaviour where the import would start looking one scope up when its name was the same as its target's first component. Closes #1114
2011-10-28Make shared kind the default only for generic functionsMarijn Haverbeke-2/+4
You almost never want a function with pinned type params. For types, objects, resources, and tags, pinned types are actually often more sane. For most of these, shared rarely makes sense. Only tricky case is objs -- you'll have to think about the kinds you want there. Issue #1076
2011-10-21Drop support for iter, put, and for-eachMarijn Haverbeke-7/+5
Closes #1056
2011-10-21Move ast_util::pat_bindings over to new iter system.Marijn Haverbeke-6/+6
Issue #1056
2011-10-21Move hash table iteration over to block-taking functionsMarijn Haverbeke-18/+10
Issue #1056
2011-10-20Merge ast::proto_shared and ast::proto_closureBrian Anderson-2/+1
Now they are both just proto_shared and proto_shared takes an argument indicating that it is sugared as 'lambda'
2011-10-20Rename ast::proto_fn to ast::proto_sharedBrian Anderson-1/+2
2011-10-20Make fn denote a bare function. Convert fn to fn@ as neededBrian Anderson-0/+1
2011-10-14Don't crash when reporting an unresolved import in the nil scopeMarijn Haverbeke-18/+22
Closes #1027
2011-10-12make native functions markable as unsafe and incorporate thatNiko Matsakis-3/+5
into the type check
2011-10-10Adjust function signatures to allow for vecs being immediateMarijn Haverbeke-1/+1
Some code was relying on vectors being implicitly by-reference (as non-immediate value). This adds the necessary &&-sigils. Closes #1021
2011-10-07Parse and typecheck by-value and by-ref arg specsMarijn Haverbeke-5/+5
Add sprinkle && throughout the compiler to make it typecheck again. Issue #1008
2011-09-16Require body of else-less if expressions to be a value-less blockMarijn Haverbeke-1/+1
For consistency with other constructs that could not possibly return a value (say, loops).
2011-09-15Forbid assignment to by-reference bindingsMarijn Haverbeke-4/+6
Issue #918
2011-09-15Add representation for by-ref let bindingsMarijn Haverbeke-3/+3
Issue #918
2011-09-15Insert omitted semicolons for statementsMarijn Haverbeke-1/+1
2011-09-14Accept returning refs rooted in an arg from a by-ref funtionMarijn Haverbeke-1/+0
Issue #918
2011-09-14Remove some extra white-space introduced by the pretty-printerMarijn Haverbeke-17/+1
2011-09-12Factor imports mindlessly.Graydon Hoare-26/+9