Quando scrivo un semplice codice per il metallo nudo senza usare libcore ottengo il seguente errore:Implementazione di operazioni di base per tipi built-in senza utilizzare libcore
error: binary operation
!=
cannot be applied to typeu32
[E0369]
Etero implementazione avanti affronta il problema di pollo e uova :
#![crate_type = "lib"]
#![feature(no_std, no_core, lang_items)]
#![no_std]
#![no_core]
#[lang = "sized"]
pub trait Sized {}
#[lang = "sync"]
pub trait Sync {}
pub const CONST1: u32 = 1;
pub const CONST2: u32 = 2;
pub struct Struct {
pub field: u32,
}
impl Sync for Struct {}
pub static VAR: Struct = Struct {
field: CONST1 + CONST2,
};
Qui ho il seguente errore:
error: binary operation
+
cannot be applied to typeu32
[E0369]
"* In realtà ho risolto il mio problema *" - potresti anche aggiungere come lo hai risolto come risposta; questo è un comportamento perfettamente accettabile e incoraggiato. – Shepmaster
È più precisamente per dire che ho appena trovato una soluzione al problema (ho appena copiato lo snippet libcore corrispondente), non risolto. Quindi non posso aggiungere una risposta. – ababo
Non riesco a riprodurre l'errore che descrivi nel [parco giochi] (https://play.rust-lang.org/?gist=7c9ce3e7575ffc7b76e2&version=nightly) (attenzione! Molto hacking per farlo compilare!). Compilano bene dopo aver risolto tutti gli errori "item lang mancanti". Potresti fornire un link a un box che mostri il tuo problema? – thirtythreeforty