Commit Graph

93 Commits

Author SHA256 Message Date
38d7bdb3c5 Accepting request 791945 from home:Andreas_Schwab:Factory
- Avoid duplication of environment settings

OBS-URL: https://build.opensuse.org/request/show/791945
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=247
2020-05-04 09:27:10 +00:00
Federico Mena Quintero
bb50254aff Accepting request 790670 from home:alarrosa:branches:devel:languages:rust
OBS-URL: https://build.opensuse.org/request/show/790670
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=245
2020-04-01 17:53:48 +00:00
Federico Mena Quintero
4ea0df818b Accepting request 787613 from home:federico-mena:branches:devel:languages:rust
- Update to version 1.41.1:
  - Always check types of static items
  - Always check lifetime bounds of `Copy` impls
  - Fix miscompilation in callers of `Layout::repeat`
- Update to version 1.41.0:
  + Language
    - You can now pass type parameters to foreign items when implementing
      traits. E.g. You can now write `impl<T> From<Foo> for Vec<T> {}`.
    - You can now arbitrarily nest receiver types in the `self` position. E.g. you can
      now write `fn foo(self: Box<Box<Self>>) {}`. Previously only `Self`, `&Self`,
      `&mut Self`, `Arc<Self>`, `Rc<Self>`, and `Box<Self>` were allowed.
    - You can now use any valid identifier in a `format_args` macro.
      Previously identifiers starting with an underscore were not allowed.
    - Visibility modifiers (e.g. `pub`) are now syntactically allowed on trait items and
      enum variants. These are still rejected semantically, but
      can be seen and parsed by procedural macros and conditional compilation.
    
  + Compiler
    - Rustc will now warn if you have unused loop `'label`s.
    - Removed support for the `i686-unknown-dragonfly` target.
    - Added tier 3 support\* for the `riscv64gc-unknown-linux-gnu` target.
    - You can now pass an arguments file passing the `@path` syntax
      to rustc. Note that the format differs somewhat from what is
      found in other tooling; please see the documentation for
      more information.
    - You can now provide `--extern` flag without a path, indicating that it is
      available from the search path or specified with an `-L` flag.
    
    Refer to Rust's [platform support page][forge-platform-support] for more
    information on Rust's tiered platform support.
    
  + Libraries
    - The `core::panic` module is now stable. It was already stable
      through `std`.
    - `NonZero*` numerics now implement `From<NonZero*>` if it's a smaller integer
      width. E.g. `NonZeroU16` now implements `From<NonZeroU8>`.
    - `MaybeUninit<T>` now implements `fmt::Debug`.
    
  + Stabilized APIs
    - `Result::map_or`
    - `Result::map_or_else`
    - `std::rc::Weak::weak_count`
    - `std::rc::Weak::strong_count`
    - `std::sync::Weak::weak_count`
    - `std::sync::Weak::strong_count`
    
  + Cargo
    - Cargo will now document all the private items for binary crates
      by default.
    - `cargo-install` will now reinstall the package if it detects that it is out
      of date.
    - Cargo.lock now uses a more git friendly format that should help to reduce
      merge conflicts.
    - You can now override specific dependencies's build settings. E.g.
      `[profile.dev.package.image] opt-level = 2` sets the `image` crate's
      optimisation level to `2` for debug builds. You can also use
      `[profile.<profile>.build-override]` to override build scripts and
      their dependencies.
  + Misc
    - You can now specify `edition` in documentation code blocks to compile the block
      for that edition. E.g. `edition2018` tells rustdoc that the code sample
      should be compiled the 2018 edition of Rust.
    - You can now provide custom themes to rustdoc with `--theme`, and check the
      current theme with `--check-theme`.
    - You can use `#[cfg(doc)]` to compile an item when building documentation.
    
  + Compatibility Notes
    - As previously announced 1.41.0 will be the last tier 1 release for 32-bit
      Apple targets. This means that the source code is still
      available to build, but the targets are no longer being tested and release
      binaries for those platforms will no longer be distributed by the Rust project.
      Please refer to the linked blog post for more information.

OBS-URL: https://build.opensuse.org/request/show/787613
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=243
2020-03-26 18:40:33 +00:00
6c0a9c7183 Accepting request 765285 from home:dimstar:Factory
- Adjust constraints: Request 20GB HDD for all archs. Simplify the
  file by removing the overrides for various disk sizes. All archs
  are curretnly at roughly 17GB storage in use.

OBS-URL: https://build.opensuse.org/request/show/765285
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=241
2020-01-17 14:09:40 +00:00
Luke Jones
086b65c695 Accepting request 762033 from home:federico-mena:branches:devel:languages:rust
- Bump version of libssh2 for SLE15; we now need a version with
  libssh2_userauth_publickey_frommemory(), which appeared in libssh2
  1.6.0.
- Use the bundled libssh2 prior to SLE15.  SLE12 has 1.4.3, which is
  too old for the ssh crate now.

OBS-URL: https://build.opensuse.org/request/show/762033
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=239
2020-01-12 19:10:19 +00:00
Luke Jones
d5285e9bf9 Accepting request 760082 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.40.0
Waiting on 1.39 to be merged in Factory.

OBS-URL: https://build.opensuse.org/request/show/760082
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=237
2020-01-01 19:06:39 +00:00
92c01454df - Rename README to README.suse-maint and add it as a source
to stop factory-auto from declining submissions automatically

OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=235
2019-11-29 14:44:48 +00:00
a174f5b25f Accepting request 750795 from home:aplanas:branches:devel:languages:rust
- Re-format the spec file
- Add a README to explain the update process
- Add _service file for download the assets and re-base the patches

OBS-URL: https://build.opensuse.org/request/show/750795
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=234
2019-11-29 14:25:00 +00:00
Luke Jones
f55288c081 Accepting request 746768 from home:aplanas:branches:devel:languages:rust
- Add hopefully-fix-rustdoc-build.patch to fix rustdoc compilation
- Update to version 1.39.0
  + Language
    - You can now create async functions and blocks with async fn,
      async move {}, and async {} respectively, and you can now call
      .await on async expressions.
    - You can now use certain attributes on function, closure, and
      function pointer parameters.
    - You can now take shared references to bind-by-move patterns in
      the if guards of match arms.
  + Compiler
    - Added tier 3 support for the i686-unknown-uefi target.
    - Added tier 3 support for the sparc64-unknown-openbsd target.
    - rustc will now trim code snippets in diagnostics to fit in your
      terminal.
    - You can now pass --show-output argument to test binaries to
      print the output of successful tests.
  + For more details:
    https://github.com/rust-lang/rust/blob/stable/RELEASES.md#version-1390-2019-11-07
- Drop patches already merged in upstream:
  + rust-61206-assume-tarball-llvm-is-fresh.patch
  + add-option-to-allow-warnings.patch

OBS-URL: https://build.opensuse.org/request/show/746768
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=233
2019-11-09 09:53:14 +00:00
Luke Jones
3a03c62ad6 Accepting request 742099 from home:rhafer:branches:devel:languages:rust
- Switch to bundled version of libgit2 for now. libgit2-sys seems
  to expect using the bundled variant, which just seems to point
  to a snapshot of the master branch and doesn't match any released
  libgit2 (bsc#1154817).
  See: https://github.com/rust-lang/rust/issues/63476 and
  https://github.com/rust-lang/git2-rs/issues/458 for details.

OBS-URL: https://build.opensuse.org/request/show/742099
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=231
2019-10-23 19:17:39 +00:00
Luke Jones
7ccfc9e547 Accepting request 734169 from home:luke_nukem:branches:devel:languages:rust
- Add patch add-option-to-allow-warnings.patch to add a config option
  which allows warnings and so enables v1.38 to bootstrap itself.
- Update to version 1.38.0
  + Language
    - The `#[global_allocator]` attribute can now be used in submodules.
    - The `#[deprecated]` attribute can now be used on macros.
  + Compiler
    - Added pipelined compilation support to `rustc`. This will
      improve compilation times in some cases.
  + Libraries
    - `ascii::EscapeDefault` now implements `Clone` and `Display`.
    - Derive macros for prelude traits (e.g. `Clone`, `Debug`, `Hash`) are now
	  available at the same path as the trait. (e.g. The `Clone` derive macro
	  is available at `std::clone::Clone`). This also makes all built-in macros
	  available in `std`/`core` root. e.g. `std::include_bytes!`.
    - `str::Chars` now implements `Debug`.
    - `slice::{concat, connect, join}` now accepts `&[T]` in addition to `&T`.
    - `*const T` and `*mut T` now implement `marker::Unpin`.
    - `Arc<[T]>` and `Rc<[T]>` now implement `FromIterator<T>`.
    - Added euclidean remainder and division operations (`div_euclid`,
	  `rem_euclid`) to all numeric primitives. Additionally `checked`,
	  `overflowing`, and `wrapping` versions are available for all
	  integer primitives.
    - `thread::AccessError` now implements `Clone`, `Copy`, `Eq`, `Error`, and
      `PartialEq`.
    - `iter::{StepBy, Peekable, Take}` now implement `DoubleEndedIterator`.
  + Stabilized APIs
    - `<*const T>::cast`
    - `<*mut T>::cast`
    - `Duration::as_secs_f32`
    - `Duration::as_secs_f64`
    - `Duration::div_f32`
    - `Duration::div_f64`
    - `Duration::from_secs_f32`
    - `Duration::from_secs_f64`
    - `Duration::mul_f32`
    - `Duration::mul_f64`
    - `any::type_name`
  + Cargo
    - Added pipelined compilation support to `cargo`.
    - You can now pass the `--features` option multiple times to enable
      multiple features.
  + Misc
    - `rustc` will now warn about some incorrect uses of
      `mem::{uninitialized, zeroed}` that are known to cause undefined behaviour.

OBS-URL: https://build.opensuse.org/request/show/734169
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=229
2019-10-01 03:31:42 +00:00
Luke Jones
5d9a019862 Accepting request 729946 from home:federico-mena:branches:devel:languages:rust
Update for SLE12-SP5

OBS-URL: https://build.opensuse.org/request/show/729946
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=227
2019-09-11 20:29:10 +00:00
Luke Jones
00e7250e8a Accepting request 726623 from home:luke_nukem:branches:devel:languages:rust
Update to 1.37

OBS-URL: https://build.opensuse.org/request/show/726623
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=225
2019-08-28 05:17:19 +00:00
Luke Jones
9850860e3c Accepting request 714305 from home:luke_nukem:branches:devel:languages:rust
- Remove fix-llvm8-build.patch, fixed upstream
- Update to version 1.36.0

OBS-URL: https://build.opensuse.org/request/show/714305
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=223
2019-07-09 21:24:02 +00:00
1d98fa19e2 Accepting request 713004 from home:Andreas_Schwab:Factory
- Add support for ppc

OBS-URL: https://build.opensuse.org/request/show/713004
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=221
2019-07-03 14:01:10 +00:00
Luke Jones
f7540d974d Accepting request 706412 from home:luke_nukem:branches:devel:languages:rust
Update to 1.35.0

OBS-URL: https://build.opensuse.org/request/show/706412
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=219
2019-05-30 03:09:29 +00:00
Luke Jones
9643ad5942 Accepting request 705460 from home:aaronpuchert
Fix build with LLVM 8.

OBS-URL: https://build.opensuse.org/request/show/705460
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=218
2019-05-27 05:15:47 +00:00
Federico Mena Quintero
7721178020 Accepting request 704523 from home:federico-mena:branches:devel:languages:rust
- Fix regexp for .rlib files in rust-rpmlintrc.

- Version 1.0.0-beta3.

OBS-URL: https://build.opensuse.org/request/show/704523
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=217
2019-05-22 15:18:03 +00:00
Luke Jones
f1957779fd Accepting request 697630 from home:marxin:branches:devel:languages:rust
- Disable LTO (boo#1133283).

OBS-URL: https://build.opensuse.org/request/show/697630
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=215
2019-05-01 08:01:31 +00:00
Luke Jones
8439266da0 Accepting request 694642 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.34.0
  + Language
    - You can now use `#[deprecated = "reason"]` as a shorthand for
      `#[deprecated(note = "reason")]`. This was previously allowed
      by mistake but had no effect.
    - You can now accept token streams in `#[attr()]`,`#[attr[]]`, and
      `#[attr{}]` procedural macros.
    - You can now write `extern crate self as foo;` to import your
      crate's root into the extern prelude.
  + Compiler
    - You can now target `riscv64imac-unknown-none-elf` and
      `riscv64gc-unknown-none-elf`.
    - You can now enable linker plugin LTO optimisations with
      `-C linker-plugin-lto`. This allows rustc to compile your Rust
      code into LLVM bitcode allowing LLVM to perform LTO optimisations
      across C/C++ FFI boundaries.
    - You can now target `powerpc64-unknown-freebsd`.
  + Libraries
    - The trait bounds have been removed on some of `HashMap<K, V, S>`'s
      and `HashSet<T, S>`'s basic methods. Most notably you no longer
      require the `Hash` trait to create an iterator.
    - The `Ord` trait bounds have been removed on some of
      `BinaryHeap<T>`'s basic methods. Most notably you no longer require
      the `Ord` trait to create an iterator.
    - The methods `overflowing_neg` and `wrapping_neg` are now `const`
      functions for all numeric types.
    - Indexing a `str` is now generic over all types that
      implement `SliceIndex<str>`.
    - `str::trim`, `str::trim_matches`, `str::trim_{start, end}`, and
      `str::trim_{start, end}_matches` are now `#[must_use]` and will
      produce a warning if their returning type is unused.
    - The methods `checked_pow`, `saturating_pow`, `wrapping_pow`, and
      `overflowing_pow` are now available for all numeric types. These are
      equivalvent to methods such as `wrapping_add` for the `pow` operation.
  + Stabilized APIs
    - std & core
      + Any::type_id
      + Error::type_id
      + atomic::AtomicI16
      + atomic::AtomicI32
      + atomic::AtomicI64
      + atomic::AtomicI8
      + atomic::AtomicU16
      + atomic::AtomicU32
      + atomic::AtomicU64
      + atomic::AtomicU8
      + convert::Infallible
      + convert::TryFrom
      + convert::TryInto
      + iter::from_fn
      + iter::successors
      + num::NonZeroI128
      + num::NonZeroI16
      + num::NonZeroI32
      + num::NonZeroI64
      + num::NonZeroI8
      + num::NonZeroIsize
      + slice::sort_by_cached_key
      + str::escape_debug
      + str::escape_default
      + str::escape_unicode
      + str::split_ascii_whitespace
    - std
      + Instant::checked_add
      + Instant::checked_sub
      + SystemTime::checked_add
      + SystemTime::checked_sub
  + Cargo
    - You can now use alternative registries to crates.io.
  + Misc
    - You can now use the `?` operator in your documentation
      tests without manually adding `fn main() -> Result<(), _> {}`.
  + Compatibility Notes
    - `Command::before_exec` is now deprecated in favor of the
      unsafe method `Command::pre_exec`.
    - Use of `ATOMIC_{BOOL, ISIZE, USIZE}_INIT` is now deprecated.
      As you can now use `const` functions in `static` variables.
- Remove depreciated-trim_left_matches.patch.
- Rustfmt version bumped to 1.0.3
  + Change description not provided.
- rls version now in sync with rustc.
- Misc fixes to rust.spec

OBS-URL: https://build.opensuse.org/request/show/694642
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=213
2019-04-16 10:32:05 +00:00
Luke Jones
5853a824ca Accepting request 688403 from home:federico-mena:branches:devel:languages:rust
- Use the system's LLVM in SLE15-SP1.  That distribution has LLVM7,
  and we need to use it there, instead of any other version.
- Prevent auto-provides from being created for things under
  rustlibdir, so the RPM does not inadvertently have a Provides for a
  bundled LLVM and the Rust library files.
- Sync changes files between SLE and openSUSE, for ease of maintenance.

OBS-URL: https://build.opensuse.org/request/show/688403
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=209
2019-03-25 20:52:49 +00:00
Luke Jones
2bda63b681 Accepting request 687478 from home:luke_nukem:branches:devel:languages:rust
- Explicitly build only a subset of tools

OBS-URL: https://build.opensuse.org/request/show/687478
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=206
2019-03-22 00:05:38 +00:00
Luke Jones
a96ee8dda3 Accepting request 686253 from home:luke_nukem:branches:devel:languages:rust
- Remove miri complete instead of excluding. This is experimental
  and so should not be included.
- BuildRequires ccache in attempt to reduce compile times.
- Remove more extraneous directories from src that will never be
  used.
- Extra patterns in rpmlintrc to catch more false positives:
  + Rust has no stable API, ignore SONAME warnings
  + Tool versions don't update in step with rust, ignore warnings

OBS-URL: https://build.opensuse.org/request/show/686253
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=202
2019-03-19 04:04:52 +00:00
Luke Jones
fe6a19e7a1 Accepting request 682056 from home:luke_nukem:branches:devel:languages:rust
- Separate the bootstrap version from the minimum required system
  version for package builds.

OBS-URL: https://build.opensuse.org/request/show/682056
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=199
2019-03-06 20:31:21 +00:00
Luke Jones
5f1b3154bd Accepting request 681589 from home:luke_nukem:branches:devel:languages:rust
- add depreciated-trim_left_matches.patch: replaces depreciated
  function call in src/tools/tidy with trim_start_matches to fix
  error when bootstrapping with system 1.33.0

OBS-URL: https://build.opensuse.org/request/show/681589
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=197
2019-03-05 04:37:49 +00:00
Luke Jones
ea59478644 Accepting request 681133 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.33.0
  + Language
    - You can now use the `cfg(target_vendor)` attribute. E.g.
      `#[cfg(target_vendor="linux")] fn main() { println!("Hello Linux!"); }`
    - Integer patterns such as in a match expression can now be exhaustive.
      E.g. You can have match statement on a `u8` that covers `0..=255` and
      you would no longer be required to have a `_ => unreachable!()` case. 
    - You can now have multiple patterns in `if let` and `while let`
      expressions. You can do this with the same syntax as a `match`
      expression. E.g.
      ```
      enum Creature {
                  Crab(String),
                  Lobster(String),
                  Person(String),
      }
      fn main() {
                  let state = Creature::Crab("Ferris");
                  if let Creature::Crab(name) | Creature::Person(name) = state {
                              println!("This creature's name is: {}", name);
                  }
      }
      ```
    - You can now have irrefutable `if let` and `while let` patterns. Using
      this feature will by default produce a warning as this behaviour can be
      unintuitive. E.g. `if let _ = 5 {}`
    - You can now use `let` bindings, assignments, expression statements,
      and irrefutable pattern destructuring in const functions.
    - You can now call unsafe const functions. E.g.
      ```
      const unsafe fn foo() -> i32 { 5 }
      const fn bar() -> i32 {
                  unsafe { foo() }
      }
      ```
    - You can now specify multiple attributes in a `cfg_attr` attribute.
      E.g. `#[cfg_attr(all(), must_use, optimize)]`
    - You can now specify a specific alignment with the `#[repr(packed)]`
      attribute. E.g. `#[repr(packed(2))] struct Foo(i16, i32);` is a struct
      with an alignment of 2 bytes and a size of 6 bytes.
    - You can now import an item from a module as an `_`. This allows you to
      import a trait's impls, and not have the name in the namespace. E.g.
      ```
      use std::io::Read as _;
      // Allowed as there is only one `Read` in the module.
      pub trait Read {}
      ```
    - extern` functions will now abort by default when panicking.
      This was previously undefined behaviour.
  + Compiler
    - You can now set a linker flavor for `rustc` with the `-Clinker-flavor`
      command line argument.
    - The mininum required LLVM version has been bumped to 6.0.
    - Added support for the PowerPC64 architecture on FreeBSD.
    - The `x86_64-fortanix-unknown-sgx` target support has been upgraded to
      tier 2 support. Visit the [platform support][platform-support] page for
      information on Rust's platform support.
    - Added support for the `thumbv7neon-linux-androideabi` and
      `thumbv7neon-unknown-linux-gnueabihf` targets.
    - Added support for the `x86_64-unknown-uefi` target.
  + Libraries
    - The methods `overflowing_{add, sub, mul, shl, shr}` are now `const`
      functions for all numeric types.
    - The methods `rotate_left`, `rotate_right`, and `wrapping_{add, sub, mul, shl, shr}`
      are now `const` functions for all numeric types.
    - The methods `is_positive` and `is_negative` are now `const` functions for
      all signed numeric types.
    - The `get` method for all `NonZero` types is now `const`.
    - The methods `count_ones`, `count_zeros`, `leading_zeros`, `trailing_zeros`,
      `swap_bytes`, `from_be`, `from_le`, `to_be`, `to_le` are now `const` for all
      numeric types.
    - Ipv4Addr::new` is now a `const` function
  + Stabilized APIs
    - unix::FileExt::read_exact_at
    - unix::FileExt::write_all_at
    - Option::transpose
    - Result::transpose
    - convert::identity
    - pin::Pin
    - marker::Unpin
    - marker::PhantomPinned
    - Vec::resize_with
    - VecDeque::resize_with
    - Duration::as_millis
    - Duration::as_micros
    - Duration::as_nanos
  + Cargo
    - Cargo should now rebuild a crate if a file was modified during the initial
      build.][cargo/6484]
  + Compatibility Notes
    - The methods `str::{trim_left, trim_right, trim_left_matches, trim_right_matches}`
      are now deprecated in the standard library, and their usage will now produce a warning.
      Please use the `str::{trim_start, trim_end, trim_start_matches, trim_end_matches}`
      methods instead.

OBS-URL: https://build.opensuse.org/request/show/681133
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=196
2019-03-03 20:22:02 +00:00
Luke Jones
4dcd467b91 Accepting request 680354 from home:luke_nukem:branches:devel:languages:rust
- Bump minimum LLVM to 7.0
- Add conditions to build SLE versions with bundled libgit2 and
  libssh2

OBS-URL: https://build.opensuse.org/request/show/680354
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=195
2019-03-01 07:54:42 +00:00
Luke Jones
54534c90f2 Accepting request 680182 from home:federico-mena:branches:devel:languages:rust
- Use cmake3, not cmake, in SLE-12 SP2 and earlier.  The stock cmake
  package there was 2.x, and building llvm requires cmake 3.5.

OBS-URL: https://build.opensuse.org/request/show/680182
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=193
2019-02-28 20:04:41 +00:00
Luke Jones
1855fcb516 Accepting request 679979 from home:luke_nukem:branches:devel:languages:rust
- Use same version bootstrap as package source
- Fixes to build with correct LLVM for SLE and Leap releases
- Move export vars directly to where used.

OBS-URL: https://build.opensuse.org/request/show/679979
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=192
2019-02-27 22:32:57 +00:00
Luke Jones
88a25a2cd1 Accepting request 679674 from home:luke_nukem:branches:devel:languages:rust
- Move export vars directly to where used.
- Change codegen units to 2 for Arm and x86 builds in attempt to
  reduce memory use by LLVM.

OBS-URL: https://build.opensuse.org/request/show/679674
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=191
2019-02-27 03:18:31 +00:00
Luke Jones
2292765355 Accepting request 679672 from home:federico-mena:branches:devel:languages:rust
- Put each exported environment variable in a separate line so the
  specfile will work on SLE SP0/SP1/SP2.

OBS-URL: https://build.opensuse.org/request/show/679672
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=190
2019-02-27 02:30:38 +00:00
Luke Jones
961c87b31c Accepting request 678521 from home:jengelh:branches:devel:languages:rust
- Avoid bash-specific syntax in "test" call.

OBS-URL: https://build.opensuse.org/request/show/678521
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=185
2019-02-24 10:00:17 +00:00
Luke Jones
816482df4b Accepting request 678447 from home:luke_nukem:branches:devel:languages:rust
- Fix bootstrap conditionals
- Fix bundled_llvm conditionals
- Don't build stage0 if compiler used to build package is the
  same version as package

OBS-URL: https://build.opensuse.org/request/show/678447
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=182
2019-02-24 04:06:19 +00:00
Luke Jones
b363312045 Accepting request 678319 from home:luke_nukem:branches:devel:languages:rust
- Ensure install environment is the same as build environment to
  prevent building everything twice (second time without correct
  flags).

OBS-URL: https://build.opensuse.org/request/show/678319
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=180
2019-02-23 02:08:42 +00:00
Luke Jones
c5c57d02d8 Accepting request 667330 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.32.0
- Language
  + 2018 edition
    - You can now use the `?` operator in macro definitions. The `?`
      operator allows you to specify zero or one repetitions similar to the `*` and
      `+` operators.
    - Module paths with no leading keyword like `super`, `self`, or `crate`, will
      now always resolve to the item (`enum`, `struct`, etc.) available in the
      module if present, before resolving to a external crate or an item the prelude.
      E.g.
      enum Color { Red, Green, Blue }
      use Color::*;
  + All editions
    - You can now match against `PhantomData<T>` types.
    - You can now match against literals in macros with the `literal`
      specifier. This will match against a literal of any type.
      E.g. `1`, `'A'`, `"Hello World"`
    - Self can now be used as a constructor and pattern for unit and tuple structs. E.g.
      struct Point(i32, i32);
      impl Point {
          pub fn new(x: i32, y: i32) -> Self {
              Self(x, y)
          }
          pub fn is_origin(&self) -> bool {
              match self {
                  Self(0, 0) => true,
                  _ => false,
              }
          }
      }
    - Self can also now be used in type definitions. E.g.
      enum List<T>
      where
          Self: PartialOrd<Self> // can write `Self` instead of `List<T>`
      {
          Nil,
          Cons(T, Box<Self>) // likewise here
      }
    - You can now mark traits with `#[must_use]`. This provides a warning if
      a `impl Trait` or `dyn Trait` is returned and unused in the program.
- Compiler
  + The default allocator has changed from jemalloc to the default allocator on
    your system. The compiler itself on Linux & macOS will still use
    jemalloc, but programs compiled with it will use the system allocator.
  + Added the `aarch64-pc-windows-msvc` target.
- Libraries
  + `PathBuf` now implements `FromStr`.
  - `Box<[T]>` now implements `FromIterator<T>`.
  - The `dbg!` macro has been stabilized. This macro enables you to
    easily debug expressions in your rust program. E.g.
    let a = 2;
    let b = dbg!(a * 2) + 1;
    //      ^-- prints: [src/main.rs:4] a * 2 = 4
    assert_eq!(b, 5);
  + The following APIs are now `const` functions and can be used in a
    `const` context.
    - `Cell::as_ptr`
    - `UnsafeCell::get`
    - `char::is_ascii`
    - `iter::empty`
    - `ManuallyDrop::new`
    - `ManuallyDrop::into_inner`
    - `RangeInclusive::start`
    - `RangeInclusive::end`
    - `NonNull::as_ptr`
    - `slice::as_ptr`
    - `str::as_ptr`
    - `Duration::as_secs`
    - `Duration::subsec_millis`
    - `Duration::subsec_micros`
    - `Duration::subsec_nanos`
    - `CStr::as_ptr`
    - `Ipv4Addr::is_unspecified`
    - `Ipv6Addr::new`
    - `Ipv6Addr::octets`
- Stabilized APIs
  + `i8::to_be_bytes`
  + `i8::to_le_bytes`
  + `i8::to_ne_bytes`
  + `i8::from_be_bytes`
  + `i8::from_le_bytes`
  + `i8::from_ne_bytes`
  + `i16::to_be_bytes`
  + `i16::to_le_bytes`
  + `i16::to_ne_bytes`
  + `i16::from_be_bytes`
  + `i16::from_le_bytes`
  + `i16::from_ne_bytes`
  + `i32::to_be_bytes`
  + `i32::to_le_bytes`
  + `i32::to_ne_bytes`
  + `i32::from_be_bytes`
  + `i32::from_le_bytes`
  + `i32::from_ne_bytes`
  + `i64::to_be_bytes`
  + `i64::to_le_bytes`
  + `i64::to_ne_bytes`
  + `i64::from_be_bytes`
  + `i64::from_le_bytes`
  + `i64::from_ne_bytes`
  + `i128::to_be_bytes`
  + `i128::to_le_bytes`
  + `i128::to_ne_bytes`
  + `i128::from_be_bytes`
  + `i128::from_le_bytes`
  + `i128::from_ne_bytes`
  + `isize::to_be_bytes`
  + `isize::to_le_bytes`
  + `isize::to_ne_bytes`
  + `isize::from_be_bytes`
  + `isize::from_le_bytes`
  + `isize::from_ne_bytes`
  + `u8::to_be_bytes`
  + `u8::to_le_bytes`
  + `u8::to_ne_bytes`
  + `u8::from_be_bytes`
  + `u8::from_le_bytes`
  + `u8::from_ne_bytes`
  + `u16::to_be_bytes`
  + `u16::to_le_bytes`
  + `u16::to_ne_bytes`
  + `u16::from_be_bytes`
  + `u16::from_le_bytes`
  + `u16::from_ne_bytes`
  + `u32::to_be_bytes`
  + `u32::to_le_bytes`
  + `u32::to_ne_bytes`
  + `u32::from_be_bytes`
  + `u32::from_le_bytes`
  + `u32::from_ne_bytes`
  + `u64::to_be_bytes`
  + `u64::to_le_bytes`
  + `u64::to_ne_bytes`
  + `u64::from_be_bytes`
  + `u64::from_le_bytes`
  + `u64::from_ne_bytes`
  + `u128::to_be_bytes`
  + `u128::to_le_bytes`
  + `u128::to_ne_bytes`
  + `u128::from_be_bytes`
  + `u128::from_le_bytes`
  + `u128::from_ne_bytes`
  + `usize::to_be_bytes`
  + `usize::to_le_bytes`
  + `usize::to_ne_bytes`
  + `usize::from_be_bytes`
  + `usize::from_le_bytes`
  + `usize::from_ne_bytes`
- Cargo
  + You can now run `cargo c` as an alias for `cargo check`.][cargo/6218]
  + Usernames are now allowed in alt registry URLs.][cargo/6242]
- Misc
  + `libproc_macro` has been added to the `rust-src` distribution.
- Compatibility Notes
  + The argument types for AVX's
  `_mm256_stream_si256`, `_mm256_stream_pd`, `_mm256_stream_ps` have
  been changed from `*const` to `*mut` as the previous implementation
  was unsound.

OBS-URL: https://build.opensuse.org/request/show/667330
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=179
2019-01-22 01:49:01 +00:00
Luke Jones
d7a6a69b7d Accepting request 663020 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.31.1
  + Fix Rust failing to build on `powerpc-unknown-netbsd`
  + Fix broken go-to-definition in RLS
  + Fix infinite loop on hover in RLS

OBS-URL: https://build.opensuse.org/request/show/663020
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=177
2019-01-05 21:04:42 +00:00
Luke Jones
415db1d25a Accepting request 656172 from home:luke_nukem:branches:devel:languages:rust
- Update to version 1.31.0
  + Language
    - This version marks the release of the 2018 edition of Rust.
    - New lifetime elision rules now allow for eliding lifetimes in functions and
  impl headers. E.g. `impl<'a> Reader for BufReader<'a> {}` can now be
  `impl Reader for BufReader<'_> {}`. Lifetimes are still required to be defined
  in structs.
    - You can now define and use `const` functions. These are currently
  a strict minimal subset of the const fn RFC. Refer to the
  [language reference][const-reference] for what exactly is available.
    - You can now use tool lints, which allow you to scope lints from external
  tools using attributes. E.g. `#[allow(clippy::filter_map)]`.
    - `#[no_mangle]` and `#[export_name]` attributes can now be located anywhere in
  a crate, not just in exported functions.
    - You can now use parentheses in pattern matches.
  + Compiler
    - Updated musl to 1.1.20
  + Libraries
    - You can now convert `num::NonZero*` types to their raw equivalvents using the
  `From` trait. E.g. `u8` now implements `From<NonZeroU8>`.
    - You can now convert a `&Option<T>` into `Option<&T>` and `&mut Option<T>`
  into `Option<&mut T>` using the `From` trait.
    - You can now multiply (`*`) a `time::Duration` by a `u32`.
  + Stabilized APIs
    - `slice::align_to`
    - `slice::align_to_mut`
    - `slice::chunks_exact`
    - `slice::chunks_exact_mut`
    - `slice::rchunks`
    - `slice::rchunks_mut`
    - `slice::rchunks_exact`
    - `slice::rchunks_exact_mut`
    - `Option::replace`
  + Cargo
    - Cargo will now download crates in parallel using HTTP/2.
    - You can now rename packages in your Cargo.toml We have a guide
  on how to use the `package` key in your dependencies.

OBS-URL: https://build.opensuse.org/request/show/656172
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=174
2018-12-10 22:23:11 +00:00
Luke Jones
7ead920628 Accepting request 648802 from home:luke_nukem:branches:devel:languages:rust
- Add additional Requires to rls:
  + Requires rust-src
  + Requires rust-analysis
- Add additional Requires to rustfmt:
  + Requires cargo
- Fix rust-src requiring /usr/bin/bash; a script was incorrectly
  edited at build time.

OBS-URL: https://build.opensuse.org/request/show/648802
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=172
2018-11-14 04:10:24 +00:00
Luke Jones
8d8cfac8a0 Accepting request 648254 from home:luke_nukem:branches:devel:languages:rust
- Set the bootstrap flag in the spec file temporarily so that rings
  will build rust without intervention. Must be reverted once all
  releases are successful.

OBS-URL: https://build.opensuse.org/request/show/648254
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=170
2018-11-11 19:45:31 +00:00
Luke Jones
39ee97f5ef Accepting request 647670 from home:luke_nukem:branches:devel:languages:rust
- Add Provides/Obsoletes/Conflicts to rust-std-static and cargo

OBS-URL: https://build.opensuse.org/request/show/647670
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=169
2018-11-10 20:08:32 +00:00
5ba900c64b - Strengthen the dependency on rust-std-static to Requires
to fix crate package builds in OBS
- Use standard form rich dependencies for SUSE Linux 15 and newer

OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=168
2018-11-08 01:20:39 +00:00
b397e49d78 Accepting request 646646 from home:jengelh:branches:devel:languages:rust
- Fix second-person language and spellos.

OBS-URL: https://build.opensuse.org/request/show/646646
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=166
2018-11-06 13:16:32 +00:00
Luke Jones
247b4de140 OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=164 2018-11-05 19:21:27 +00:00
Luke Jones
49905303e7 Accepting request 646330 from home:luke_nukem:branches:devel:languages:rust
- Patch: require patching of src/librustc_llvm/build.rs to ignore
  a flag that llvm-config --cxxflags outputs which GCC doesn't
  recognise.
- Default to building using the distro LLVM where the version is
  >= 5.0, instead of the Rust bundled LLVM which requires
  compilation. This should decrease build times. SLE LLVM is too old.
- Fixing various rpmlint warnings and errors:
  + ExclusiveArch instead of BuildArch for i686
  + Remove conflicts with same package name
  + Remove a few hidden files during prep, does not touch '.clang-format'
  + Remove old patch macro in comment
  + Fix lint warning about bash and zsh completition files
  + Fix various script shebang warnings (incorrect or missing)
  + Adjust rpmlintrc to mask some 'invalid' warnings
- Move Rust and its tools in to their own category under:
  + Development/Languages/Rust
- Jump from version 1.26.2 to 1.30.0 due to a build issue with using 1.26.x to
  compile 1.27.x. This package release requires %{rust_bootstrap} to be set.
- Enable extra rust tools to be built (cargo, rls, rustfmt, analysis)
    + cargo is now packaged with the same version number as the rust release, this
      may break any packages that relied on a cargo version number.
- Remove ccache and ninja from BuildRequires.
- Switch build configuration to use configure script, remove config.toml.
- Include all bootstraps in source rpm to make bootstrapping easier to manage
  within OBS.
- Remove unused patch: update-config-guess.patch
Update to version 1.30.0 (2018-10-25)
  + Language
    - Procedural macros are now available.-  These kinds of macros allow for
      more powerful code generation. There is a new chapter available
      in the Rust Programming Language book that goes further in depth.
    - You can now use keywords as identifiers using the raw identifiers
      syntax (`r#`),-  e.g. `let r#for = true;`
    - Using anonymous parameters in traits is now deprecated with a warning and
      will be a hard error in the 2018 edition.- 
    - You can now use `crate` in paths.-  This allows you to refer to the
      crate root in the path, e.g. `use crate::foo;` refers to `foo` in `src/lib.rs`.
    - Using a external crate no longer requires being prefixed with `::`.- 
      Previously, using a external crate in a module without a use statement
      required `let json = ::serde_json::from_str(foo);` but can now be written
      as `let json = serde_json::from_str(foo);`.
    - You can now apply the `#[used]` attribute to static items to prevent the
      compiler from optimising them away, even if they appear to be unused,- 
      e.g. `#[used] static FOO: u32 = 1;`
    - You can now import and reexport macros from other crates with the `use`
      syntax.-  Macros exported with `#[macro_export]` are now placed into
      the root module of the crate. If your macro relies on calling other local
      macros, it is recommended to export with the
      `#[macro_export(local_inner_macros)]` attribute so users won't have to import
      those macros.
    - You can now catch visibility keywords (e.g. `pub`, `pub(crate)`) in macros
      using the `vis` specifier.- 
    - Non-macro attributes now allow all forms of literals, not just
      strings.-  Previously, you would write `#[attr("true")]`, and you can now
      write `#[attr(true)]`.
    - You can now specify a function to handle a panic in the Rust runtime with the
      `#[panic_handler]` attribute.- 
  + Compiler
    - Added the `riscv32imc-unknown-none-elf` target.- 
    - Added the `aarch64-unknown-netbsd` target- 
  + Libraries
    - `ManuallyDrop` now allows the inner type to be unsized.- 
  + Stabilized APIs
    - `Ipv4Addr::BROADCAST`
    - `Ipv4Addr::LOCALHOST`
    - `Ipv4Addr::UNSPECIFIED`
    - `Ipv6Addr::LOCALHOST`
    - `Ipv6Addr::UNSPECIFIED`
    - `Iterator::find_map`
    - The following methods are replacement methods for `trim_left`, `trim_right`,
      `trim_left_matches`, and `trim_right_matches`, which will be deprecated
      in 1.33.0:
      + `str::trim_end_matches`
      + `str::trim_end`
      + `str::trim_start_matches`
      + `str::trim_start`
  + Cargo
    - `cargo run` doesn't require specifying a package in workspaces.][cargo/5877]
    - `cargo doc` now supports `--message-format=json`.][cargo/5878] This is
      equivalent to calling `rustdoc --error-format=json`.
    - Cargo will now provide a progress bar for builds.][cargo/5995]
  + Misc
    - `rustdoc` allows you to specify what edition to treat your code as with the
      `--edition` option.- 
    - `rustdoc` now has the `--color` (specify whether to output color) and
      `--error-format` (specify error format, e.g. `json`) options.- 
    - We now distribute a `rust-gdbgui` script that invokes `gdbgui` with Rust
      debug symbols.- 
    - Attributes from Rust tools such as `rustfmt` or `clippy` are now
      available,-  e.g. `#[rustfmt::skip]` will skip formatting the next item.
- Update to version 1.29.2 (2018-10-11)
  + Workaround for an aliasing-related LLVM bug, which caused miscompilation.
  + The `rls-preview` component on the windows-gnu targets has been restored.
- Update to version 1.29.1 (2018-09-25)
  + Security Notes
    - The standard library's `str::repeat` function contained an out of bounds write
      caused by an integer overflow. This has been fixed by deterministically
      panicking when an overflow happens.
- Update to version 1.29.0 (2018-09-13)
  + Compiler
    - Bumped minimum LLVM version to 5.0.
    - Added `powerpc64le-unknown-linux-musl` target.
    - Added `aarch64-unknown-hermit` and `x86_64-unknown-hermit` targets.
  + Libraries
    - `Once::call_once` no longer requires `Once` to be `'static`.
    - `BuildHasherDefault` now implements `PartialEq` and `Eq`.
    - `Box<CStr>`, `Box<OsStr>`, and `Box<Path>` now implement `Clone`.
    - Implemented `PartialEq<&str>` for `OsString` and `PartialEq<OsString>`
      for `&str`.
    - `Cell<T>` now allows `T` to be unsized.
    - `SocketAddr` is now stable on Redox.
  + Stabilized APIs
    - `Arc::downcast`
    - `Iterator::flatten`
    - `Rc::downcast`
  + Cargo
    - Cargo can silently fix some bad lockfiles.][cargo/5831] You can use
      `--locked` to disable this behavior.
    - `cargo-install` will now allow you to cross compile an install
      using `--target`.][cargo/5614]
    - Added the `cargo-fix` subcommand to automatically move project code from
      2015 edition to 2018.][cargo/5723]
    - `cargo doc` can now optionally document private types using the
      `--document-private-items` flag.][cargo/5543]
  + Misc
    - `rustdoc` now has the `--cap-lints` option which demotes all lints above
      the specified level to that level. For example `--cap-lints warn`
      will demote `deny` and `forbid` lints to `warn`.
    - `rustc` and `rustdoc` will now have the exit code of `1` if compilation
      fails and `101` if there is a panic.
    - A preview of clippy has been made available through rustup.
      You can install the preview with `rustup component add clippy-preview`.
  + Compatibility Notes
    - `str::{slice_unchecked, slice_unchecked_mut}` are now deprecated.
      Use `str::get_unchecked(begin..end)` instead.
    - `std::env::home_dir` is now deprecated for its unintuitive behavior.
      Consider using the `home_dir` function from
      https://crates.io/crates/dirs instead.
    - `rustc` will no longer silently ignore invalid data in target spec.
    - `cfg` attributes and `--cfg` command line flags are now more
      strictly validated.
- Update to version 1.28.0
  + Language
    - The `#[repr(transparent)]` attribute is now stable.-  This attribute
      allows a Rust newtype wrapper (`struct NewType<T>(T);`) to be represented as
      the inner type across Foreign Function Interface (FFI) boundaries.
    - The keywords `pure`, `sizeof`, `alignof`, and `offsetof` have been unreserved
      and can now be used as identifiers.- 
    - The `GlobalAlloc` trait and `#[global_allocator]` attribute are now
      stable.-  This will allow users to specify a global allocator for
      their program.
    - Unit test functions marked with the `#[test]` attribute can now return
      `Result<(), E: Debug>` in addition to `()`.- 
    - The `lifetime` specifier for `macro_rules!` is now stable.-  This
      allows macros to easily target lifetimes.
  + Compiler
    - The `s` and `z` optimisation levels are now stable.-  These optimisations
      prioritise making smaller binary sizes. `z` is the same as `s` with the
      exception that it does not vectorise loops, which typically results in an even
      smaller binary.
    - The short error format is now stable.-  Specified with
      `--error-format=short` this option will provide a more compressed output of
      rust error messages.
    - Added a lint warning when you have duplicated `macro_export`s.- 
    - Reduced the number of allocations in the macro parser.-  This can
      improve compile times of macro heavy crates on average by 5%.
  + Libraries
    - Implemented `Default` for `&mut str`.- 
    - Implemented `From<bool>` for all integer and unsigned number types.- 
    - Implemented `Extend` for `()`.- 
    - The `Debug` implementation of `time::Duration` should now be more easily
      human readable.-  Previously a `Duration` of one second would printed as
      `Duration { secs: 1, nanos: 0 }` and will now be printed as `1s`.
    - Implemented `From<&String>` for `Cow<str>`, `From<&Vec<T>>` for `Cow<[T]>`,
      `From<Cow<CStr>>` for `CString`, `From<CString>, From<CStr>, From<&CString>`
      for `Cow<CStr>`, `From<OsString>, From<OsStr>, From<&OsString>` for
      `Cow<OsStr>`, `From<&PathBuf>` for `Cow<Path>`, and `From<Cow<Path>>`
      for `PathBuf`.- 
    - Implemented `Shl` and `Shr` for `Wrapping<u128>`
      and `Wrapping<i128>`.- 
    - `DirEntry::metadata` now uses `fstatat` instead of `lstat` when
      possible.-  This can provide up to a 40% speed increase.
    - Improved error messages when using `format!`.- 
  + Stabilized APIs
    - `Iterator::step_by`
    - `Path::ancestors`
    - `SystemTime::UNIX_EPOCH`
    - `alloc::GlobalAlloc`
    - `alloc::Layout`
    - `alloc::LayoutErr`
    - `alloc::System`
    - `alloc::alloc`
    - `alloc::alloc_zeroed`
    - `alloc::dealloc`
    - `alloc::realloc`
    - `alloc::handle_alloc_error`
    - `btree_map::Entry::or_default`
    - `fmt::Alignment`
    - `hash_map::Entry::or_default`
    - `iter::repeat_with`
    - `num::NonZeroUsize`
    - `num::NonZeroU128`
    - `num::NonZeroU16`
    - `num::NonZeroU32`
    - `num::NonZeroU64`
    - `num::NonZeroU8`
    - `ops::RangeBounds`
    - `slice::SliceIndex`
    - `slice::from_mut`
    - `slice::from_ref`
    - `{Any + Send + Sync}::downcast_mut`
    - `{Any + Send + Sync}::downcast_ref`
    - `{Any + Send + Sync}::is`
  + Cargo
    - Cargo will now no longer allow you to publish crates with build scripts that
      modify the `src` directory.][cargo/5584] The `src` directory in a crate should be
      considered to be immutable.
  + Misc
    - The `suggestion_applicability` field in `rustc`'s json output is now
      stable.-  This will allow dev tools to check whether a code suggestion
      would apply to them.
  + Compatibility Notes
    - Rust will consider trait objects with duplicated constraints to be the same
      type as without the duplicated constraint.-  For example the below code will
      now fail to compile.
      ```rust
      trait Trait {}
      impl Trait + Send {
          fn test(&self) { println!("one"); } //~ ERROR duplicate definitions with name `test`
      }
      impl Trait + Send + Send {
          fn test(&self) { println!("two"); }
      }
- Update to version 1.27.2:
  + Compatibility Notes
    - The borrow checker was fixed to avoid an additional potential unsoundness when using
      match ergonomics
- Update to version 1.27.1:
  + Security Notes
    - rustdoc would execute plugins in the /tmp/rustdoc/plugins directory
      when running, which enabled executing code as some other user on a
      given machine. This release fixes that vulnerability; you can read
      more about this on the blog. The associated CVE is [CVE-2018-1000622].
      Thank you to Red Hat for responsibily disclosing this vulnerability to us.
  + Compatibility Notes
    - The borrow checker was fixed to avoid an additional potential unsoundness when using
      match ergonomics
- Update to version 1.27.0:
  + Language
    - Removed 'proc' from the reserved keywords list. This allows `proc` to
      be used as an identifier.
    - The dyn syntax is now available. This syntax is equivalent to the
      bare `Trait` syntax, and should make it clearer when being used in tandem with
      `impl Trait` because it is equivalent to the following syntax:
      `&Trait == &dyn Trait`, `&mut Trait == &mut dyn Trait`, and
      `Box<Trait> == Box<dyn Trait>`.
    - Attributes on generic parameters such as types and lifetimes are
      now stable. e.g.
      `fn foo<#[lifetime_attr] 'a, #[type_attr] T: 'a>() {}`
    - The `#[must_use]` attribute can now also be used on functions as well as
      types. It provides a lint that by default warns users when the
      value returned by a function has not been used.
  + Compiler
    - Added the `armvte-unknown-linux-musleabi` target.
  + Libraries
    - SIMD (Single Instruction Multiple Data) on x/x_ is now stable.
      This includes arch::x & arch::x_ modules which contain
      SIMD intrinsics, a new macro called `is_x_feature_detected!`, the
      `#[target_feature(enable="")]` attribute, and adding `target_feature = ""` to
      the `cfg` attribute.
    - A lot of methods for `[u]`, `f`, and `f` previously only available in
      std are now available in core.
    - The generic `Rhs` type parameter on `ops::{Shl, ShlAssign, Shr}` now defaults
      to `Self`.
    - std::str::replace` now has the `#[must_use]` attribute to clarify
      that the operation isn't done in place.
    - Clone::clone`, `Iterator::collect`, and `ToOwned::to_owned` now have
      the `#[must_use]` attribute] to warn about unused potentially
      expensive allocations.
  + Stabilized APIs
    - DoubleEndedIterator::rfind
    - DoubleEndedIterator::rfold
    - DoubleEndedIterator::try_rfold
    - Duration::from_micros
    - Duration::from_nanos
    - Duration::subsec_micros
    - Duration::subsec_millis
    - HashMap::remove_entry
    - Iterator::try_fold
    - Iterator::try_for_each
    - NonNull::cast
    - Option::filter
    - String::replace_range
    - Take::set_limit
    - hint::unreachable_unchecked
    - os::unix::process::parent_id
    - ptr::swap_nonoverlapping
    - slice::rsplit_mut
    - slice::rsplit
    - slice::swap_with_slice
  + Cargo
    - `cargo-metadata` now includes `authors`, `categories`, `keywords`,
      `readme`, and `repository` fields.
    - `cargo-metadata` now includes a package's `metadata` table.
    - Added the `--target-dir` optional argument. This allows you to specify
      a different directory than `target` for placing compilation artifacts.
    - Cargo will be adding automatic target inference for binaries, benchmarks,
      examples, and tests in the Rust 2018 edition. If your project specifies
      specific targets, e.g. using `[[bin]]`, and have other binaries in locations
      where cargo would infer a binary, Cargo will produce a warning. You can
      disable this feature ahead of time by setting any of the following to false:
      `autobins`, `autobenches`, `autoexamples`, `autotests`.
    - Cargo will now cache compiler information. This can be disabled by
      setting `CARGO_CACHE_RUSTC_INFO=0` in your environment.
  + Compatibility Notes
    - Calling a `CharExt` or `StrExt` method directly on core will no longer
      work. e.g. `::core::prelude::v1::StrExt::is_empty("")` will not
      compile, `"".is_empty()` will still compile.
    - `Debug` output on `atomic::{AtomicBool, AtomicIsize, AtomicPtr, AtomicUsize}`
      will only print the inner type. E.g.
      `print!("{:?}", AtomicBool::new(true))` will print `true`,
      not `AtomicBool(true)`.
    - The maximum number for `repr(align(N))` is now 2²⁹. Previously you
      could enter higher numbers but they were not supported by LLVM. Up to 512MB
      alignment should cover all use cases.
    - The `.description()` method on the `std::error::Error` trait
      has been soft-deprecated. It is no longer required to implement it.
  + Misc
    - Added “The Rustc book” into the official documentation.

OBS-URL: https://build.opensuse.org/request/show/646330
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=161
2018-11-05 08:18:23 +00:00
44fee7379e Accepting request 615064 from home:mmanu84:rust
- Update to version 1.26.2:
  + Compatibility Notes
    - The borrow checker was fixed to avoid unsoundness when using match ergonomics
- Update to version 1.26.1:
  + Tools
    - RLS now works on Windows
    - Rustfmt stopped badly formatting text in some cases
  + Compatibility Notes
    - `fn main() -> impl Trait` no longer works for non-Termination trait
      This reverts an accidental stabilization
    - `NaN > NaN` no longer returns true in const-fn contexts
    - Prohibit using turbofish for `impl Trait` in method arguments

OBS-URL: https://build.opensuse.org/request/show/615064
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=159
2018-06-08 01:24:48 +00:00
ee99c69dc3 Accepting request 606817 from home:luc14n0:branches:devel:languages:rust
Update to version 1.26.0

OBS-URL: https://build.opensuse.org/request/show/606817
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=157
2018-05-13 15:55:39 +00:00
Luke Jones
012930143c Accepting request 605639 from home:mmanu84:rust
- Patch disabled
  * update-config-guess.patch
- Update to 1.25.0
- Language changes:
  + Stabilised `#[repr(align(x))]`.[47006] [RFC 1358]
  + You can now use nested groups of imports.[47948]
    e.g. `use std::{fs::File, io::Read, path::{Path, PathBuf}};`
  + You can now have `|` at the start of a match arm.[47947] e.g.
- Compiler changes:
  + Upgraded to LLVM 6.[47828]
  + Added `-C lto=val` option.[47521]
  + Added `i586-unknown-linux-musl` target[47282]
- Library changes:
  + Impl Send for `process::Command` on Unix.[47760]
  + Impl PartialEq and Eq for `ParseCharError`.[47790]
  + `UnsafeCell::into_inner` is now safe.[47204]
  + Implement libstd for CloudABI.[47268]
  + `Float::{from_bits, to_bits}` is now available in libcore.[46931]
  + Implement `AsRef<Path>` for Component[46985]
  + Implemented `Write` for `Cursor<&mut Vec<u8>>`[46830]
  + Moved `Duration` to libcore.[46666]
- Stabilized APIs
  + `Location::column`
  + `ptr::NonNull`
- Misc
  + Rust by example is now shipped with new releases[46196]
- Compatibility Notes:
  + Deprecated `net::lookup_host`.[47510]
  + `rustdoc` has switched to pulldown as the default markdown renderer.[47398]
  + The borrow checker was sometimes incorrectly permitting overlapping borrows
    around indexing operations (see [#47349][47349]). This has been fixed (which also
    enabled some correct code that used to cause errors (e.g. [#33903][33903] and [#46095][46095]).
  + Removed deprecated unstable attribute `#[simd]`.[47251]

OBS-URL: https://build.opensuse.org/request/show/605639
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=155
2018-05-11 02:31:09 +00:00
368726c495 Accepting request 590331 from home:mmanu84:rust
- Update to 1.24.1
  + Do not abort when unwinding through FFI
  + Make the error index generator work again
- Update Cargo to v0.25.0

OBS-URL: https://build.opensuse.org/request/show/590331
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=151
2018-03-23 02:17:10 +00:00
61ef6b9ec8 Fill in changes entry
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=149
2018-03-02 11:19:54 +00:00
499b31ac62 Accepting request 579895 from home:mmanu84:rust
- Update to 1.24.0

OBS-URL: https://build.opensuse.org/request/show/579895
OBS-URL: https://build.opensuse.org/package/show/devel:languages:rust/rust?expand=0&rev=148
2018-02-27 01:58:47 +00:00