Commit Graph

93071 Commits

Author SHA1 Message Date
varkor
a29eca5d82 Fix issue with const params in operand.rs 2019-05-01 23:11:19 +01:00
varkor
beb2f84b31 Resolve FIXME in probe.rs 2019-05-01 23:11:19 +01:00
varkor
388f823c03 Correct name of constrained_generic_params alias 2019-05-01 23:11:19 +01:00
varkor
d8b1ddba9b Fix unused variable warning 2019-05-01 23:11:19 +01:00
varkor
b872e63585 Fix known-known const unification case 2019-05-01 23:11:19 +01:00
varkor
97c0c6653b Remove spurious assertion 2019-05-01 23:11:19 +01:00
varkor
67176f751b Add const-types test 2019-05-01 23:11:19 +01:00
varkor
5cf45bc27a Fix rebase issue 2019-05-01 23:11:19 +01:00
varkor
972e254106 Implement const generics for InferenceFudger 2019-05-01 23:11:19 +01:00
varkor
f241693662 Fix missing parenthesis 2019-05-01 23:11:19 +01:00
varkor
d8b9387ace Take ConstValue::Placeholder into account in new locations 2019-05-01 23:11:19 +01:00
varkor
fc16b0a147 Fix rebase from LazyConst removal 2019-05-01 23:11:19 +01:00
varkor
c888af52be Replace ConstVariableTable with UnificationTable 2019-05-01 23:10:58 +01:00
varkor
2308d2d68a Handle ConstValue::Placeholder in canonicalizer 2019-05-01 23:10:57 +01:00
varkor
e70797b575 Add PlaceholderConst 2019-05-01 23:10:57 +01:00
varkor
f5712d2de0 Add ConstValue::Placeholder 2019-05-01 23:10:57 +01:00
varkor
245a474ab7 Inline ConstError into TypeError 2019-05-01 23:10:57 +01:00
varkor
cf1a719c19 Implement fold_const for BoundVarReplacer 2019-05-01 23:10:57 +01:00
Gabriel Smith
fa394c2283 impl fold_const for Shifter
Signed-off-by: Gabriel Smith <ga29smith@gmail.com>
2019-05-01 23:10:57 +01:00
Gabriel Smith
57d3a5a32d impl visit_const for HasEscapingVarsVisitor
Signed-off-by: Gabriel Smith <ga29smith@gmail.com>
2019-05-01 23:10:57 +01:00
Gabriel Smith
c13aa09d49 impl fold_const for TypeFreshener
Signed-off-by: Gabriel Smith <ga29smith@gmail.com>
2019-05-01 23:10:57 +01:00
Gabriel Smith
e965b75603 impl mk_const_infer
Signed-off-by: Gabriel Smith <ga29smith@gmail.com>
2019-05-01 23:10:57 +01:00
Gabriel Smith
bd2fa222c0 Rename mk_infer to mk_ty_infer
Signed-off-by: Gabriel Smith <ga29smith@gmail.com>
2019-05-01 23:10:57 +01:00
Gabriel Smith
7bf175f30c impl fold_const for RegionFudger
Signed-off-by: Gabriel Smith <ga29smith@gmail.com>
2019-05-01 23:10:57 +01:00
varkor
ef1b2acf12 Remove fold_const override for ReverseMapper
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
ed3dae4aca Rename *shallow_resolve to *shallow_resolve_type
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
3f675ab038 Drive-by comment fixes
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
d113ff8ada Handle generic consts in relate and infer
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
69423b3345 Add stubs for fold_const
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
bfc39b9b87 Implement TypeRelation::consts
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
7d71a1c8a4 Add const generics to unification tables
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
b9b9994c72 Define const_unification_error
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
05ac3ac575 Define super_combine_consts
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
d4e0951fff Add CanonicalVarKind::Const
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
14f906f24e Define canonicalize_const_var
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
0728b62aca Add ct_err
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:57 +01:00
varkor
d7fdeffafc Add generic consts to BottomUpFolder
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:05 +01:00
varkor
77447deb21 Add const_variable.rs
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:05 +01:00
varkor
2254727480 Add ConstError
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:05 +01:00
varkor
cafa10d96e Define super_relate_consts
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:05 +01:00
varkor
f1c83de1dd Add consts to TypeRelation
Co-Authored-By: Gabriel Smith <yodaldevoid@users.noreply.github.com>
2019-05-01 23:10:05 +01:00
Esteban Küber
24fddb15e8 Resolve match arm ty when arms diverge 2019-05-01 14:57:24 -07:00
bors
9b67bd42b7 Auto merge of #60435 - Centril:rollup-aa5lmuw, r=Centril
Rollup of 7 pull requests

Successful merges:

 - #60287 (Use references for variances_of)
 - #60327 (Search for incompatible universes in borrow errors)
 - #60330 (Suggest using an inclusive range instead of an exclusive range when the endpoint overflows by 1)
 - #60366 (build-gcc: Create missing cc symlink)
 - #60369 (Support ZSTs in DispatchFromDyn)
 - #60404 (Implement `BorrowMut<str>` for `String`)
 - #60417 (Rename hir::ExprKind::Use to ::DropTemps and improve docs.)

Failed merges:

r? @ghost
2019-05-01 17:24:11 +00:00
Michal 'vorner' Vaner
26199a27ff
doc: Warn about possible zombie apocalypse
Extend the std::process::Child docs with warning about possible zombies.
The previous version mentioned that when dropping the Child, the
process is not killed. However, the wording gave the impression that
such behaviour is fine to do (leaving the reader believe low-level
details like reaping zombies of the dead processes is taken over by std
somehow; or simply leaving the reader unaware about the problem).
2019-05-01 17:46:30 +02:00
David Wood
1fedb0a20b
Unify tests under async-await directory. 2019-05-01 15:03:45 +01:00
David Wood
f47735c3dc
Ensure that users cannot use generated arguments.
This commit gensyms the generated ident for replacement arguments so
that users cannot refer to them. It also ensures that levenshtein
distance suggestions do not suggest gensymed identifiers.
2019-05-01 15:00:43 +01:00
David Wood
b05d5db87b
Ensure that drop order of async fn matches fn.
This commit modifies the lowering of `async fn` arguments so that the
drop order matches the equivalent `fn`.

Previously, async function arguments were lowered as shown below:

    async fn foo(<pattern>: <ty>) {
      async move {
      }
    } // <-- dropped as you "exit" the fn

    // ...becomes...
    fn foo(__arg0: <ty>) {
      async move {
        let <pattern> = __arg0;
      } // <-- dropped as you "exit" the async block
    }

After this PR, async function arguments will be lowered as:

    async fn foo(<pattern>: <ty>, <pattern>: <ty>, <pattern>: <ty>) {
      async move {
      }
    } // <-- dropped as you "exit" the fn

    // ...becomes...
    fn foo(__arg0: <ty>, __arg1: <ty>, __arg2: <ty>) {
      async move {
        let __arg2 = __arg2;
        let <pattern> = __arg2;
        let __arg1 = __arg1;
        let <pattern> = __arg1;
        let __arg0 = __arg0;
        let <pattern> = __arg0;
      } // <-- dropped as you "exit" the async block
    }

If `<pattern>` is a simple ident, then it is lowered to a single
`let <pattern> = <pattern>;` statement as an optimization.
2019-05-01 14:40:59 +01:00
Wesley Wiser
eadf48e796 Refactor eval_body_using_ecx so that it doesn't need to query for MIR 2019-05-01 08:27:06 -04:00
bors
6cc24f2603 Auto merge of #60137 - eddyb:rustdoc-rm-def-ctor-hax, r=petrochenkov
rustdoc: remove def_ctor hack.

~~No longer necessary since we have `describe_def`.~~

Turns out `def_ctor` was used in conjunction with abusing `tcx.type_of(def_id)` working on both type definitions and `impl`s (specifically, of builtin types), but also reimplementing a lot of the logic that `Clean` already provides on `Ty` / `ty::TraitRef`.

The first commit now does the minimal refactor to keep it working, while the second commit contains the rest of the refactor I started (parts of which I'm not sure we need to keep).
2019-05-01 12:21:04 +00:00
Andrew Xu
d3fff6cda7 move some functions from parser.rs to diagostics.rs
parser.rs is too big. Some functions only for error reporting and error
recovery are being moved to diagostics.rs.
2019-05-01 19:54:48 +08:00