| Age | Commit message (Collapse) | Author | Lines |
|
|
|
|
|
|
|
LinearMap is quite a bit faster, and is fully owned/sendable without
requiring copies. The older std::map also doesn't use explicit self and
relies on mutable fields.
|
|
|
|
Changes:
- Refactor move mode computation
- Removes move mode arguments, unary move, capture clauses
(though they still parse for backwards compatibility)
- Simplify how moves are handled in trans
- Fix a number of illegal copies that cropped up
- Workaround for bug involving def-ids in params
(see details below)
Future work (I'll open bugs for these...):
- Improve error messages for moves that are due
to bindings
- Add support for moving owned content like a.b.c
to borrow check, test in trans (but I think it'll
"just work")
- Proper fix for def-ids in params
Def ids in params:
Move captures into a map instead of recomputing.
This is a workaround for a larger bug having to do with the def-ids associated
with ty_params, which are not always properly preserved when inlining. I am
not sure of my preferred fix for the larger bug yet. This current fix removes
the only code in trans that I know of which relies on ty_param def-ids, but
feels fragile.
|
|
|
|
|
|
|
|
r=pcwalton
|
|
This is very helpful for SDL, as SDL wants you to define a function named
`SDL_main`.
|
|
This is an interim fix to address the "Beware!" unsoundness. I have a
more comprehensive rewrite of mode.rs in the pipeline.
r=pcwalton
|
|
- Make `extern fn()` assignable to any closure type, rather than
a subtype.
- Remove unused int_ty_set and float_ty_set
- Refactor variable unification and make it more DRY
- Do fn sub/lub/glb on the level of fn_sig
- Rename infer::to_str::ToStr to infer::to_str::InferStr
- Capitalize names of various types
- Correct hashing of FnMeta
- Convert various records-of-fns into structs-of-fns. This is both
eliminating use of deprecated features and more forwards compatible
with fn reform.
r=pcwalton
|
|
module scope. r=tjc
|
|
nearest module scope. r=tjc"
This reverts commit a8d37af2473da79be704c9ce2374f278c47177b6.
|
|
module scope. r=tjc
|
|
~20% perf win for trans on -O0, with other minor improvements across the board.
No effect on -O2.
|
|
contain at least two components. r=graydon
|
|
|
|
|
|
rs=refactoring
|
|
|
|
|
|
|