summary refs log tree commit diff
path: root/src/librustc/middle/astencode.rs
AgeCommit message (Collapse)AuthorLines
2014-06-22Rename ty_param_bounds_and_ty to PolytypeNiko Matsakis-19/+19
2014-06-17librustc: Don't overwrite vtables when coercing to trait object.Luqman Aden-23/+47
2014-06-14rustc: Obsolete the `@` syntax entirelyAlex Crichton-1/+1
This removes all remnants of `@` pointers from rustc. Additionally, this removes the `GC` structure from the prelude as it seems odd exporting an experimental type in the prelude by default. Closes #14193 [breaking-change]
2014-06-13Introduce VecPerParamSpace and use it to represent sets of types andNiko Matsakis-44/+81
parameters This involves numerous substeps: 1. Treat Self same as any other parameter. 2. No longer compute offsets for method parameters. 3. Store all generic types (both trait/impl and method) with a method, eliminating odd discrepancies. 4. Stop doing unspeakable things to static methods and instead just use the natural types, now that we can easily add the type parameters from trait into the method's polytype. 5. No doubt some more. It was hard to separate these into distinct commits. Fixes #13564
2014-06-11rustc: Move the AST from @T to Gc<T>Alex Crichton-7/+7
2014-06-06Move Def out of syntax crate, where it does not belongNiko Matsakis-34/+35
2014-06-06Move subst data structures into subst.rs, fix capitalizationNiko Matsakis-6/+7
2014-05-30librustc: Fix snake case errors.Kevin Butler-7/+7
A number of functions/methods have been moved or renamed to align better with rust standard conventions. rustc::back::link::WriteOutputFile => write_output_file rustc::middle::ty::EmptyBuiltinBounds => empty_builtin_bounds rustc::middle::ty::AllBuiltinBounds => all_builtin_bounds rustc::middle::liveness::IrMaps => IrMaps::new rustc::middle::liveness::Liveness => Liveness::new rustc::middle::resolve::NameBindings => NameBindings::new rustc::middle::resolve::PrimitiveTypeTable => PrimitiveTypeTable::new rustc::middle::resolve::Resolver => Resolver::new rustc::middle::trans::datum::Datum => Datum::new rustc::middle::trans::datum::DatumBlock => DatumBlock::new rustc::middle::trans::datum::Rvalue => Rvalue::new rustc::middle::typeck::infer::new_ValsAndBindings => ::infer::unify::ValsAndBindings::new rustc::middle::typeck::infer::region_inference::RegionVarBindings => RegionVarBindings::new [breaking-change]
2014-05-24core: rename strbuf::StrBuf to string::StringRicho Healey-3/+3
[breaking-change]
2014-05-22libstd: Remove `~str` from all `libstd` modules except `fmt` and `str`.Patrick Walton-2/+4
2014-05-12librustc: Remove all uses of `~str` from librustc.Patrick Walton-2/+2
2014-05-11core: Remove the cast moduleAlex Crichton-3/+3
This commit revisits the `cast` module in libcore and libstd, and scrutinizes all functions inside of it. The result was to remove the `cast` module entirely, folding all functionality into the `mem` module. Specifically, this is the fate of each function in the `cast` module. * transmute - This function was moved to `mem`, but it is now marked as #[unstable]. This is due to planned changes to the `transmute` function and how it can be invoked (see the #[unstable] comment). For more information, see RFC 5 and #12898 * transmute_copy - This function was moved to `mem`, with clarification that is is not an error to invoke it with T/U that are different sizes, but rather that it is strongly discouraged. This function is now #[stable] * forget - This function was moved to `mem` and marked #[stable] * bump_box_refcount - This function was removed due to the deprecation of managed boxes as well as its questionable utility. * transmute_mut - This function was previously deprecated, and removed as part of this commit. * transmute_mut_unsafe - This function doesn't serve much of a purpose when it can be achieved with an `as` in safe code, so it was removed. * transmute_lifetime - This function was removed because it is likely a strong indication that code is incorrect in the first place. * transmute_mut_lifetime - This function was removed for the same reasons as `transmute_lifetime` * copy_lifetime - This function was moved to `mem`, but it is marked `#[unstable]` now due to the likelihood of being removed in the future if it is found to not be very useful. * copy_mut_lifetime - This function was also moved to `mem`, but had the same treatment as `copy_lifetime`. * copy_lifetime_vec - This function was removed because it is not used today, and its existence is not necessary with DST (copy_lifetime will suffice). In summary, the cast module was stripped down to these functions, and then the functions were moved to the `mem` module. transmute - #[unstable] transmute_copy - #[stable] forget - #[stable] copy_lifetime - #[unstable] copy_mut_lifetime - #[unstable] [breaking-change]
2014-05-09Currently trans uses Vec<ty::t> to represent substitutions instead of a properNiko Matsakis-9/+30
ty::substs struct. This is a holdover from the olden days of yore. This patch removes the last vestiges of that practice. This is part of the work I was doing on #5527.
2014-04-24Pre-step towards issue #12624 and others: Introduce ExprUseVisitor, remove theNiko Matsakis-65/+4
moves computation. ExprUseVisitor is a visitor that walks the AST for a function and calls a delegate to inform it where borrows, copies, and moves occur. In this patch, I rewrite the gather_loans visitor to use ExprUseVisitor, but in future patches, I think we could rewrite regionck, check_loans, and possibly other passes to use it as well. This would refactor the repeated code between those places that tries to determine where copies/moves/etc occur.
2014-04-23rustc: remove usage of root_map from astencodeFlavio Percoco-1/+0
2014-04-22rustc: de-@ metadata::cstore.Eduard Burtescu-16/+16
2014-04-22rustc: de-@ freevars.Eduard Burtescu-4/+4
2014-04-22rustc: de-@ some RefCell's.Eduard Burtescu-1/+1
2014-04-22rustc: de-@ ty::AutoAdjustment.Eduard Burtescu-4/+4
2014-04-22rustc: de-@ method and vtable maps.Eduard Burtescu-17/+11
2014-04-22rustc: move the method and vtable maps into ty::ctxt.Eduard Burtescu-8/+6
2014-04-13Make Result::{unwrap, unwrap_err} require ShowSteven Fackler-3/+3
`foo.ok().unwrap()` and `foo.err().unwrap()` are the fallbacks for types that aren't `Show`. Closes #13379
2014-04-11rustc: fix fallout from removing ast::Sigil and use ty::TraitStore in ↵Eduard Burtescu-8/+5
ty::ClosureTy.
2014-04-11auto merge of #13424 : eddyb/rust/ty-mut-in-store, r=nikomatsakisbors-27/+22
Cleans up some remnants of the old mutability system and only allows vector/trait mutability in `VstoreSlice` (`&mut [T]`) and `RegionTraitStore` (`&mut Trait`).
2014-04-11rustc: fix the fallout from moving mutability into VstoreSlice and ↵Eduard Burtescu-27/+22
RegionTraitStore.
2014-04-10rustc: rename ty::vstore and its variants to UpperCamelCase.Eduard Burtescu-2/+2
2014-04-10libstd: Implement `StrBuf`, a new string buffer type like `Vec`, andPatrick Walton-2/+3
port all code over to use it.
2014-04-04Fix fallout from std::libc separationCorey Richardson-1/+1
2014-04-02middle: astencode: remove dead codeCorey Richardson-14/+0
2014-03-31rustc: Switch field privacy as necessaryAlex Crichton-4/+4
2014-03-29auto merge of #13188 : FlaPer87/rust/master, r=alexcrichtonbors-180/+132
2014-03-29Register new snapshotFlavio Percoco-180/+132
2014-03-28Convert most code to new inner attribute syntax.Brian Anderson-2/+2
Closes #2569
2014-03-27serialize: use ResultSean McArthur-169/+231
All of Decoder and Encoder's methods now return a Result. Encodable.encode() and Decodable.decode() return a Result as well. fixes #12292
2014-03-23Implement cross-crate support for autoderef.Eduard Burtescu-20/+92
Closes #13044.
2014-03-22Implement vtable support for autoderef.Eduard Burtescu-2/+3
Closes #13042.
2014-03-22rustc: Remove all usage of manual deref()Alex Crichton-2/+1
Favor using '*' instead
2014-03-22rustc: Fix fallout of removing get()Alex Crichton-111/+60
2014-03-20Removing imports of std::vec_ng::VecAlex Crichton-1/+0
It's now in the prelude.
2014-03-20rename std::vec_ng -> std::vecDaniel Micay-1/+1
Closes #12771
2014-03-17Fix rustdoc and tests.Eduard Burtescu-1/+1
2014-03-17De-@ move maps and rework parts of trans.Eduard Burtescu-19/+16
2014-03-17De-@ ParseSess uses.Eduard Burtescu-4/+4
2014-03-17De-@ tyencode::ctxt and related parts of astencode.Eduard Burtescu-50/+50
2014-03-17De-@ ty::ctxt usage.Eduard Burtescu-22/+22
2014-03-17De-@ Session usage.Eduard Burtescu-3/+3
2014-03-13Implement automatic overloaded dereference.Eduard Burtescu-3/+5
Closes #7141.
2014-03-13Remove Rc's borrow method to avoid conflicts with RefCell's borrow in ↵Eduard Burtescu-1/+1
Rc<RefCell<T>>.
2014-03-08librustc: Fix up fallout from the automatic conversion.Felix S. Klock II-10/+21
2014-03-08librustc: Automatically change uses of `~[T]` to `Vec<T>` in rustc.Patrick Walton-9/+9