make sure we don't inline these generic fn as that could monomorphize them
This commit is contained in:
parent
0cb1065d7e
commit
8c01b85dba
@ -7,7 +7,7 @@ LL | const C: () = panic!();
|
|||||||
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
note: erroneous constant encountered
|
note: erroneous constant encountered
|
||||||
--> $DIR/collect-in-dead-fn-behind-assoc-type.rs:15:17
|
--> $DIR/collect-in-dead-fn-behind-assoc-type.rs:16:17
|
||||||
|
|
|
|
||||||
LL | let _ = Fail::<T>::C;
|
LL | let _ = Fail::<T>::C;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -7,7 +7,7 @@ LL | const C: () = panic!();
|
|||||||
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
note: erroneous constant encountered
|
note: erroneous constant encountered
|
||||||
--> $DIR/collect-in-dead-fn-behind-assoc-type.rs:15:17
|
--> $DIR/collect-in-dead-fn-behind-assoc-type.rs:16:17
|
||||||
|
|
|
|
||||||
LL | let _ = Fail::<T>::C;
|
LL | let _ = Fail::<T>::C;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -10,12 +10,14 @@ impl<T> Fail<T> {
|
|||||||
const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
|
const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline(never)]
|
||||||
fn not_called<T>() {
|
fn not_called<T>() {
|
||||||
if false {
|
if false {
|
||||||
let _ = Fail::<T>::C;
|
let _ = Fail::<T>::C;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline(never)]
|
||||||
fn callit_not(f: impl Fn()) {
|
fn callit_not(f: impl Fn()) {
|
||||||
if false {
|
if false {
|
||||||
f();
|
f();
|
||||||
@ -33,6 +35,7 @@ impl Hideaway for () {
|
|||||||
const C: Self::T = not_called::<i32>;
|
const C: Self::T = not_called::<i32>;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline(never)]
|
||||||
fn reveal<T: Hideaway>() {
|
fn reveal<T: Hideaway>() {
|
||||||
if false {
|
if false {
|
||||||
callit_not(T::C);
|
callit_not(T::C);
|
||||||
|
@ -7,7 +7,7 @@ LL | const C: () = panic!();
|
|||||||
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
note: erroneous constant encountered
|
note: erroneous constant encountered
|
||||||
--> $DIR/collect-in-dead-fn-behind-generic.rs:14:17
|
--> $DIR/collect-in-dead-fn-behind-generic.rs:15:17
|
||||||
|
|
|
|
||||||
LL | let _ = Fail::<T>::C;
|
LL | let _ = Fail::<T>::C;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -7,7 +7,7 @@ LL | const C: () = panic!();
|
|||||||
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
note: erroneous constant encountered
|
note: erroneous constant encountered
|
||||||
--> $DIR/collect-in-dead-fn-behind-generic.rs:14:17
|
--> $DIR/collect-in-dead-fn-behind-generic.rs:15:17
|
||||||
|
|
|
|
||||||
LL | let _ = Fail::<T>::C;
|
LL | let _ = Fail::<T>::C;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -9,12 +9,14 @@ impl<T> Fail<T> {
|
|||||||
const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
|
const C: () = panic!(); //~ERROR evaluation of `Fail::<i32>::C` failed
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline(never)]
|
||||||
fn not_called<T>() {
|
fn not_called<T>() {
|
||||||
if false {
|
if false {
|
||||||
let _ = Fail::<T>::C;
|
let _ = Fail::<T>::C;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#[inline(never)]
|
||||||
fn callit_not(f: impl Fn()) {
|
fn callit_not(f: impl Fn()) {
|
||||||
if false {
|
if false {
|
||||||
f();
|
f();
|
||||||
|
@ -7,7 +7,7 @@ LL | const C: () = panic!();
|
|||||||
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
note: erroneous constant encountered
|
note: erroneous constant encountered
|
||||||
--> $DIR/collect-in-dead-fn-behind-opaque-type.rs:18:21
|
--> $DIR/collect-in-dead-fn-behind-opaque-type.rs:19:21
|
||||||
|
|
|
|
||||||
LL | let _ = Fail::<T>::C;
|
LL | let _ = Fail::<T>::C;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -7,7 +7,7 @@ LL | const C: () = panic!();
|
|||||||
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
= note: this error originates in the macro `$crate::panic::panic_2015` which comes from the expansion of the macro `panic` (in Nightly builds, run with -Z macro-backtrace for more info)
|
||||||
|
|
||||||
note: erroneous constant encountered
|
note: erroneous constant encountered
|
||||||
--> $DIR/collect-in-dead-fn-behind-opaque-type.rs:18:21
|
--> $DIR/collect-in-dead-fn-behind-opaque-type.rs:19:21
|
||||||
|
|
|
|
||||||
LL | let _ = Fail::<T>::C;
|
LL | let _ = Fail::<T>::C;
|
||||||
| ^^^^^^^^^^^^
|
| ^^^^^^^^^^^^
|
||||||
|
@ -13,6 +13,7 @@ mod m {
|
|||||||
|
|
||||||
pub type NotCalledFn = impl Fn();
|
pub type NotCalledFn = impl Fn();
|
||||||
|
|
||||||
|
#[inline(never)]
|
||||||
fn not_called<T>() {
|
fn not_called<T>() {
|
||||||
if false {
|
if false {
|
||||||
let _ = Fail::<T>::C;
|
let _ = Fail::<T>::C;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user