Allow constant c-like enum to integral/float cast
removed unused abstraction over paths and value_paths
finish removing parse_value_ident
Fix a bug with region-parameterized enums etc where trans considered
them to be non-monomorphic.  Merely having lifetime parameters
is not enough to qualify for that status.  Fixes #5243.
bool: make the from_str function a FromStr impl
auto merge of #5253 : nikomatsakis/rust/issue-5243, r=graydon

them to be non-monomorphic.  Merely having lifetime parameters
is not enough to qualify for that status.  Fixes #5243.

r?
rustc: De-mode some bits of trans
auto merge of #5246 : brson/rust/demode, r=brson

r?
Add manual &self/ and &static/ and /&self declarations that
are currently inferred.  New rules are coming that will require
them to be explicit.  All add some explicit self declarations.
Permit either foo/&self or foo<'self>
convert FnCtxt methods from @mut self to &self
Convert region parameterization to change defaults and handle
methods correctly
Improve error messages when illegal lifetimes are used
patch up pretty printing of things with both lifetime and type parameters
Cheat and temporarily work around a pretty-printer bug
that will go away with the new region syntax.
fix test to not use fn expr
auto merge of #5125 : nikomatsakis/rust/issue-4846-lifetime-defaults, r=nikomatsakis

Work towards #4846.

- Institute new region defaults where all omitted regions get a fresh lifetime.
- Require explicit region names except in functions.
- Fix a bug in region parameterization inference.  I've been putting this off because it will not be important when we remove RP inference in favor of explicit declarations, but then it was blocking this patch.

r? @pcwalton
auto merge of #5182 : youknowone/rust/enum-cast, r=brson

Fix #4926
auto merge of #5255 : jbclements/rust/remove-parse-value-ident, r=graydon

After the removal of the "restricted keyword" feature in 0c82c00dc4f49aeb9b57c92c9a40ae35d8a1ee29 , there's no longer any difference between parse_ident() and parse_value_ident(), and therefore no difference between parse parse_path_without_tps() and parse_value_path().  I've collapsed all of these, removing the redundant functions and eliminating the need for two higher-order arguments.
auto merge of #5256 : thestinger/rust/bool, r=brson