librustc: Also treat a struct with a single scalar field as an immediate.
librustc: Update comment to reflect changes.
librustc: Expand too narrow constraint for immediate newtypes.
librustc: As pass self as ByRef.
librustc: Only newtype structs as immediates.