File tree 3 files changed +42
-0
lines changed
3 files changed +42
-0
lines changed Original file line number Diff line number Diff line change
1
+ //@ compile-flags: -C no-prepopulate-passes -C opt-level=0
2
+
3
+ #![ crate_type = "lib" ]
4
+
5
+ // String formating macros without any arguments should compile
6
+ // to a `memcpy` followed by a call to `std::io::stdio::_print`.
7
+
8
+ #[ no_mangle]
9
+ pub fn code ( ) {
10
+ // CHECK-LABEL: @code
11
+ // CHECK-NOT: getelementptr
12
+ // CHECK-NOT: store
13
+ // CHECK-NOT: ; call core::fmt::Arguments::new_const
14
+ // CHECK: call void @llvm.memcpy
15
+ // CHECK-NEXT: ; call std::io::stdio::_print
16
+ println ! ( "hello world" ) ;
17
+ }
Original file line number Diff line number Diff line change
1
+
2
+ pub fn main ( ) {
3
+ const A : std:: fmt:: Arguments = std:: fmt:: Arguments :: new_const ( & [ & "hola" ] ) ;
4
+ //~^ use of unstable library feature
5
+ }
Original file line number Diff line number Diff line change
1
+ error[E0658]: use of unstable library feature 'fmt_internals'
2
+ --> $DIR/const-format-arguments.rs:3:36
3
+ |
4
+ LL | const A: std::fmt::Arguments = std::fmt::Arguments::new_const(&[&"hola"]);
5
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
6
+ |
7
+ = help: add `#![feature(fmt_internals)]` to the crate attributes to enable
8
+ = note: this compiler was built on YYYY-MM-DD; consider upgrading it if it is out of date
9
+
10
+ error: `Arguments::<'a>::new_const` is not yet stable as a const fn
11
+ --> $DIR/const-format-arguments.rs:3:36
12
+ |
13
+ LL | const A: std::fmt::Arguments = std::fmt::Arguments::new_const(&[&"hola"]);
14
+ | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
15
+ |
16
+ = help: add `#![feature(const_fmt_arguments_new)]` to the crate attributes to enable
17
+
18
+ error: aborting due to 2 previous errors
19
+
20
+ For more information about this error, try `rustc --explain E0658`.
You can’t perform that action at this time.
0 commit comments