- 15 8月, 2014 2 次提交
-
-
由 Patrick Walton 提交于
These `where` clauses are accepted everywhere generics are currently accepted and desugar during type collection to the type parameter bounds we have today. A new keyword, `where`, has been added. Therefore, this is a breaking change. Change uses of `where` to other identifiers. [breaking-change]
-
由 Patrick Walton 提交于
methods. This paves the way to associated items by introducing an extra level of abstraction ("impl-or-trait item") between traits/implementations and methods. This new abstraction is encoded in the metadata and used throughout the compiler where appropriate. There are no functional changes; this is purely a refactoring.
-
- 07 8月, 2014 1 次提交
-
-
由 Niko Matsakis 提交于
meaning `'b outlives 'a`. Syntax currently does nothing but is needed for full fix to #5763. To use this syntax, the issue_5763_bootstrap feature guard is required.
-
- 06 8月, 2014 2 次提交
-
-
由 Felix S. Klock II 提交于
-
由 Russell 提交于
Generic extern functions written in Rust have their names mangled, as well as their internal clownshoe __rust_abi functions. This allows e.g. specific monomorphizations of these functions to be used as callbacks. Closes #12502.
-
- 26 7月, 2014 1 次提交
-
-
由 Jason Fager 提交于
Closes #6334
-
- 19 7月, 2014 2 次提交
-
-
由 Jakub Wieczorek 提交于
-
由 Patrick Walton 提交于
-
- 18 7月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
except where trait objects are involved. Part of issue #15349, though I'm leaving it open for trait objects. Cross borrowing for trait objects remains because it is needed until we have DST. This will break code like: fn foo(x: &int) { ... } let a = box 3i; foo(a); Change this code to: fn foo(x: &int) { ... } let a = box 3i; foo(&*a); [breaking-change]
-
- 17 7月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
This makes two changes to region inference: (1) it allows region inference to relate early-bound regions; and (2) it allows regions to be related before variance runs. The former is needed because there is no relation between the two regions before region substitution happens, while the latter is needed because type collection has to run before variance. We assume that, before variance is inferred, that lifetimes are invariant. This is a conservative overapproximation. This relates to #13885. This does not remove `~self` from the language yet, however. [breaking-change]
-
- 16 7月, 2014 2 次提交
-
-
由 Ben Gamari 提交于
-
由 John Clements 提交于
Per @pnkfelix 's suggestion, using a trait to make these field accesses more readable (and vastly more similar to the original code. oops fix new ast_map fix
-
- 14 7月, 2014 1 次提交
-
-
由 John Clements 提交于
This change propagates to many locations, but because of the Macro Exterminator (or, more properly, the invariant that it protects), macro invocations can't occur downstream of expansion. This means that in librustc and librustdoc, extracting the desired field can simply assume that it can't be a macro invocation. Functions in ast_util abstract over this check.
-
- 09 7月, 2014 1 次提交
-
-
由 Richo Healey 提交于
[breaking-change]
-
- 08 7月, 2014 1 次提交
-
-
由 Nick Cameron 提交于
closes #13367 [breaking-change] Use `Sized?` to indicate a dynamically sized type parameter or trait (used to be `type`). E.g., ``` trait Tr for Sized? {} fn foo<Sized? X: Share>(x: X) {} ```
-
- 22 6月, 2014 1 次提交
-
-
由 Niko Matsakis 提交于
-
- 14 6月, 2014 1 次提交
-
-
由 Niko Matsakis 提交于
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
-
- 12 6月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
-
- 10 6月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
-
- 07 6月, 2014 2 次提交
-
-
由 Niko Matsakis 提交于
-
由 Niko Matsakis 提交于
-
- 06 6月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
-
- 31 5月, 2014 1 次提交
-
-
由 Kevin Butler 提交于
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]
-
- 23 5月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
-
- 13 5月, 2014 1 次提交
-
-
由 Patrick Walton 提交于
-
- 04 5月, 2014 1 次提交
-
-
由 Niko Matsakis 提交于
Temporary patch to accept arbitrary lifetimes (behind feature gate) in bound lists. This is needed to bootstrap fix for #5723.
-
- 01 5月, 2014 1 次提交
-
-
由 Flavio Percoco 提交于
[RFC #3] cc #13231
-
- 23 4月, 2014 4 次提交
-
-
由 Nick Cameron 提交于
-
由 Nick Cameron 提交于
-
由 Eduard Burtescu 提交于
-
由 Eduard Burtescu 提交于
-
- 20 4月, 2014 1 次提交
-
-
由 Nick Cameron 提交于
No subtyping, no interaction with traits. Partially addresses #9912.
-
- 18 4月, 2014 1 次提交
-
-
由 Kevin Butler 提交于
-
- 11 4月, 2014 1 次提交
-
-
由 Kasey Carrothers 提交于
Renamed ast::Purity to ast::FnStyle and ast::ImpureFn to ast::NormalFn and updated associated variable and function names.
-
- 04 4月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
This change removes the AbiSet from the AST, converting all usage to have just one Abi value. The current scheme selects a relevant ABI given a list of ABIs based on the target architecture and how relevant each ABI is to that architecture. Instead of this mildly complicated scheme, only one ABI will be allowed in abi strings, and pseudo-abis will be created for special cases as necessary. For example the "system" abi exists for stdcall on win32 and C on win64. Closes #10049
-
- 31 3月, 2014 1 次提交
-
-
由 Daniel Micay 提交于
These were only free functions on `~[T]` because taking self by-value used to be broken.
-
- 30 3月, 2014 1 次提交
-
-
由 Marvin Löbel 提交于
-
- 27 3月, 2014 1 次提交
-
-
由 Alex Crichton 提交于
This change is in preparation for #8122. Nothing is currently done with these visibility qualifiers, they are just parsed and accepted by the compiler. RFC: 0004-private-fields
-
- 22 3月, 2014 2 次提交
-
-
由 Alex Crichton 提交于
Favor using '*' instead
-
由 Alex Crichton 提交于
-