codify "platform" into resolution logic, server-fn/fullstack overhaul (#4596)
overhaul dioxus fullstack using a new implementation of server_fn This PR is a complete rewrite of dioxus fullstack designed to improve compatibility with axum and to fix a number of compilation errors based on feature flag unification plumbing through macros.
This commit is contained in:
1 parent
8421c3aef0
commit
f2b1c6d97f
424 files changed
+17284
-6624
No files matched your search
@@ -1324,12 +1324,24 @@ impl<'a> ModuleWithRelocations<'a> {
|
||||
fn get_symbol_dep_node(&self, index: usize) -> Result<Option<Node>> {
|
||||
let res = match self.symbols[index] {
|
||||
SymbolInfo::Data { .. } => Some(Node::DataSymbol(index)),
|
||||
SymbolInfo::Func { name, .. } => Some(Node::Function(
|
||||
*self
|
||||
.names_to_funcs
|
||||
.get(name.expect("local func symbol without name?"))
|
||||
.unwrap(),
|
||||
)),
|
||||
SymbolInfo::Func { name, .. } => Some(Node::Function({
|
||||
let name = name.context(
|
||||
"Function symbol has no name - did you forget to enable debug symbols",
|
||||
)?;
|
||||
|
||||
let func_id = self.names_to_funcs.get(name);
|
||||
|
||||
// wbindgen will synthesize some functions that don't exist in the original module (eg describe functions)
|
||||
// Previously this was a hard error, but now we just ignore it. It used to mean that the user
|
||||
let Some(res) = func_id else {
|
||||
if !name.contains("__wbindgen_") {
|
||||
tracing::error!("Could not find function symbol {name:?} in module - was this built with LTO, --emit-relocs, and debug symbols? Ignoring.");
|
||||
}
|
||||
return Ok(None);
|
||||
};
|
||||
|
||||
*res
|
||||
})),
|
||||
|
||||
_ => None,
|
||||
};
|
||||
|
||||
Reference in new issue
Block a user